February 2012 M T W T F S S « Jan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 -
新鲜出炉
雁过留声
- Ivy on 2012,魔都开年
- hzmangel on 2012,魔都开年
- Lena on 2012,魔都开年
- hzmangel on List all CVS tags
- OO on List all CVS tags
Tags
不明真相之围观
- Android中使用自定义Adapter - 3,841 views
- 让win下的vim支持非等宽字体 - 2,415 views
- C++中静态成员函数的声明及定义 - 1,332 views
- python中的静态成员函数 - 1,291 views
- VIM LaTeX Suite - 1,290 views
- List的Iterator - 1,065 views
- Pietty + Xming,在Win下用X - 1,008 views
- 给iphone传电子书 - 943 views
- AutoHotKey 设置窗口在最前 - 748 views
- 用AutoHotKey窗口平分屏幕 - 709 views
归个类
回忆
- January 2012 (1)
- December 2011 (1)
- November 2011 (1)
- September 2011 (1)
- July 2011 (2)
- June 2011 (1)
- May 2011 (2)
- April 2011 (1)
- March 2011 (3)
- January 2011 (2)
- December 2010 (4)
- October 2010 (2)
- September 2010 (2)
- August 2010 (1)
- July 2010 (3)
- June 2010 (3)
- May 2010 (2)
- March 2010 (5)
- January 2010 (7)
- December 2009 (5)
- November 2009 (2)
- October 2009 (1)
- September 2009 (5)
- August 2009 (3)
- June 2009 (1)
- May 2009 (4)
- April 2009 (2)
- March 2009 (1)
- February 2009 (3)
- January 2009 (3)
- December 2008 (6)
- November 2008 (14)
- October 2008 (5)
- September 2008 (11)
- August 2008 (8)
- July 2008 (9)
- June 2008 (21)
- May 2008 (17)
- April 2008 (17)
- March 2008 (15)
- February 2008 (1)
- January 2008 (3)
- December 2007 (1)
- October 2007 (12)
- September 2007 (8)
- August 2007 (9)
- June 2007 (8)
- May 2007 (10)
- April 2007 (3)
- November 2006 (5)
- October 2006 (2)
- September 2006 (16)
- August 2006 (13)
- July 2006 (4)
- June 2006 (1)
- April 2006 (1)
- March 2006 (6)
- February 2006 (1)
- January 2006 (3)
- December 2005 (6)
- November 2005 (15)
- October 2005 (12)
- September 2005 (1)
- June 2005 (4)
- May 2005 (12)
- April 2005 (16)
- March 2005 (6)
- January 2005 (13)
- December 2004 (3)
- November 2004 (8)
- October 2004 (13)
- September 2004 (13)
Tag Archives: python
List all CVS tags
最近在折腾一个CVS的库,需要把它里面所有的tags给列出来,在网上找了一个Perl脚本,以前一直是直接用的,那天看了看发现原来不是很难,于是写了一个Python的,为的是可以当成函数嵌到我的脚本中。
Remove packages installed by setup.py install
从源码装了个Python程序的包结果发现系统的仓库中有,于是想先把源码装的包删除了再去装仓库中的,可惜setup.py没有uninstall参数,于是改问G神,在stackoverflow上找到了折衷的办法:先用install把包重新装一遍,装的时候记录下文件的改动,然后去把它们统统删除,唔,好囧的办法。 $ python setup.py install –record foo.txt $ cat foo.txt | xargs rm -f 没找到怎么让它输出到stdout,只好用临时文件弄了。
Using Django in bluehost
最近由于某些操蛋的事情,linuxfb需要搬家,但是bluehost主机上不支持通过网页安装django,只好自己折腾了。 1. Install Python environment bluehost上提供的python的版本是2.4.3(谨慎怀疑是RH5的系统),嫌老,所以要升级。首先,需要从bluehost处申请获得SSH权限,具体做法去查网站帮助吧。 wget从服务器上下载源码包,然后解压编译安装三部曲,只是注意在配置的时间需要将安装的prefix目录改成自己家目录下的,否则没权限。在安装完成后记得把新python所在的目录加到$PATH环境变量中,然后可以使用python -V查看版本 2. Install Django in bluehost 安装Django,不想手动解压安装了,于是先安装了setuptools,接着用easy_install安装了Django。 3. Prepare the Django project 安装完Django后,可以在某处新建一个目录,然后把现有工程的整个目录拷过来。网上的教程中有说需要把setting.py的权限设成600,这样只有自己可读。如果工程中没有绝对路径,应该不需要对工程做任何更改。 bluehost中通过Apache+fastcgi的方式来支持Django的应用,所以还需要在工程目录下准备一个fcgi的文件,程序很简单,而且ms是通用的(具体的我没研究过,所以不知道怎么写) #! #coding:utf-8 import sys, os from os.path import abspath,dirname import sys sys.path.append(dirname(dirname(abspath(__file__)))) os.environ['DJANGO_SETTINGS_MODULE'] = "settings" from django.core.handlers.wsgi import WSGIHandler … Continue reading
try-except-finally block in python 2.4
try-except-finally这种语法是在py2.5中才支持的,而在py2.4中只能单独使用try-except或try-finally。为了让脚本有更好的兼容性,只好绕过去了: #/usr/bin/python2.6 try: print ‘try’ except: print ‘except’ finally: print ‘finally’ #/usr/bin/python2.4 try: try: print ‘try’ except: print ‘except’ finally: print ‘finally’ 从Chromium的代码库(Issue 140005)中找到的方法,呵呵。
初用 Google App Engine
在邮件列表中看到了这个东西,感觉满好玩的,是用python的,也满合胃口的,申请了一下,然后过了一会拿到的许可。有人说是在后台有一个sleep 3000,呵呵,不知道是真的假的。反正我是有了,用着玩玩吧。 下载了SDK,没细看里面的目录结构,只是知道里面有一个脚本可以当作开发时的服务器,还有一个脚本可以用以把文件上传。网站上有一个教程,老例子,上来先是一个helloworld。它的工程中需要有一个app.yaml用以标识工程的ID,刚写的那个yaml文件如下: application: sonic version: 1 runtime: python api_version: 1 handlers: – url: /.* script: helloworld.py version是工程的版本,runtime version和api_version这俩目前只有一种选择,不知道以后会不会更改。然后就是写主要的部分了,handlers。首先是以减号开始,后跟url关键字,冒号后是正则的URL列表,下一行的script是标明处理这个URL的脚本,后面自己写的。如果在url字段中用了正则表达式,则将请求传入脚本时会自动将匹配的字符串作为参数。后面的那些静态文件和登录啥的没细看,看到再写。 然后就是里面的helloworld.py文件了,最简单的就是三个print,当时看到我直接喷了,真的。 简单的不能再简单的代码了。 print ‘Content-Type: text/plain’ print ” print ‘Hello, world!’ 反正就是这么简单。然后运行它的那个简单的服务器,运行时需要指明工程的目录,即包含有app.yaml文件的目录。运行后就可以通过浏览访问8080端口来测试服务了。还好第二个程序算是有点内容了,虽然也还是HelloWorld,但是它用了webapp的框架,代码量也有点多了。 import wsgiref.handlers from google.appengine.ext import webapp class MainPage(webapp.RequestHandler): def get(self): … Continue reading
给iphone传电子书
没在iphone上找到好玩的游戏,只好拿它当电子书阅读器了。文章转换文件名格式说了怎么转换文件格式,其实文本的格式也需要转换的。把用的脚本写出来吧。 首先,弄到的txt是用cterm从水木上弄下来的,理由很简单,cterm的F4下载太好用了,所以我就懒了,呵呵。然后用HFS(www.rejetto.com/hfs/)开服务器,本来是想在iphone的SSH上直接wget的,费了好大力气找到了可用的wget后下载居然是乱码,从文件名到内容,只好自力更生了。 用wget把文章弄到那台Linux机器上,在这需要提一下,HFS有可以直接打包下载文件夹的功能,把一个文件夹打成一个tar包传过来,很好用的功能。 下载下来后,解压。由于我的Linux的终端编码是utf8的,自然乱码就出来了先用convmv转文件名,转完后再用iconv转文本格式。由于iconv不能批量转,所以写了个py脚本用来弄这个,诶,不会sh脚本的人只能这么玩了。 #!/usr/bin/python2.5 import glob import os filenames = glob.glob(‘*.txt’) for foo in filenames: tmp_name = foo.replace(‘Download\\’, ”) cmd_str = ‘iconv -f gb18030 -t utf8 “%s” -o “%s”‘ % (foo, tmp_name) os.system(cmd_str) os.system(‘rm “%s”‘ % foo) print tmp_name 中间还加上了文件名转换的功能,因为解压时文件名多了点东西。 需要注意的就是那个cmd_str两个%s加上的引号,因为文件名中间有空格,所以如果不加的话命令执行会出错。源目标格式选18030主要是怕有些特殊字符。等全转完后直接用scp拷到iphone就行了。SSH真的很好用,临了再感叹一下,Linux下的东西有些真的是方便至极。
python中的静态成员函数
被C++郁闷了,编译一次老半天,于是又想到了Python。在试着把C++的东西转过来的时候,突然想要用到静态方法,正要在def前面加个static,突然想到没有这么玩的啊,于是查自带的文档,居然被我找到了。