Archive for 八月, 2009
零碎
MS我是个话痨,饭否没了,这里随便唠叨几句吧。
最近看的一些东西:
兔斯基出了第一本书《我兔斯基你》,迫不及待买了精装本来看。完全不是我想要的,甚至没有耐心去看完。我想要的是《依然饭特稀》那种轻松的,可是兔斯基这个有些重了。其实看封面就应该知道的,“眯眼观人生,情绪显哲学”,带上哲学就不好玩了。我只是要娱乐而已。
《爱情公寓》,一个国产情景喜剧,看了后心情会很好的,我要的就是这种。本来打算留着跟女朋友一起看的,可是我忍不住,第一季二十集,已经看了五集了。
《先知》,烂片,大烂片,啥都没有,不知道导演到底想给我们看什么。
《少年手指虎》,好片,很不错的片子。女主角也很可爱。不过日本人是种族问题吧,看起来就是猥琐的样子,尤其是刚开始的时候。
《有话好好说》,很老的一个片子吧。看李笑来的博客中提到,就去VC上找到下了回来,不错。
《政局密云》,没啥感觉,反正不是好片。
《圣斗士星矢.冥王神话》,烂,圣斗士迷千万不要看。车田正美砸牌子呢。画风以及剧情完全没法跟以前的比。尤其是冥王篇那精美的画面,跟这一比,啧啧,这个就是TMD垃圾。顺便说一句,都是天马当主角了,还是圣斗士星矢?而且,传说中雅典娜和天马的JQ终于出现了。
《69乐章》的《关于陶喆》中MS有一段是模仿queen的,喜欢。
另外,硬盘里还有最近的下的《切·格瓦拉传》,《非常完美》,《大内密探零零狗》打算看,还没看呢。
80G的硬盘,用起来实在小,320G的移动硬盘又不想老挂着,不爽。
VC6编写python扩展
有些C/C++的代码要在Python中要用到,又懒得转成python,所以就写成python的扩展来调用,^_^。
以下是我尝试后,在VC6下编写python扩展的过程。
系统环境:VC6 + Python-2.5.4
1、下载Python-2.5.4源码。
2、解压,打开D:\Python-2.5.4\PC\VC6\pcbuild.dsw,编译,D:\Python-2.5.4\PC\VC6\下得到python25.dll、python25_d.dll、python25.lib、python25_d.lib。
3、使用VC6建立一个动态链接库工程,拷贝D:\Python-2.5.4\PC\example_nt\example.c到工程目录下,并添加到工程中。
4、设置工程。
打开tools->options->directories,添加D:\PYTHON-2.5.4\INCLUDE 到 includes files中,添加D:\PYTHON-2.5.4\PC\VC6 到 Library files中。
打开Progect->Settings,将Win32 Debug->Link->Output file name修改为example_d.pyd,将Win32 Release->Link->Output file name修改为example.pyd
5、编译。
6、尝试调用:
D:\MY Project\testpymodule\Release>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import example >>> example.foo() Hello, world >>>
7、OK,打完收工。 附件为测试的工程:py_module_example
gmbox发布0.1版本
呃,这是我参与的一个开源项目,不过很羞愧的说,只提交过一次代码。
算上后来提交的一个安装脚本,两次吧。
windows下安装包的下载地址:http://gmbox.googlecode.com/files/gmbox_setup_0.1.exe
以下内容转自骨头的博客:
好吧~ 今天发布gmbox V0.1版本了.
看看之前的日志,发现离我发第一篇博文的都已经过了近4个月了.
其实,离之前预想的发布日期不知道迟了多少,好在也没对外公布过发布计划,看来我对自己的”懒”还是有自知之明的,哈哈..
呃..还是说说gmbox吧,基本特性是:
- 支持谷歌音乐的”榜单下载”和”搜索下载”,而且,这两者都包含歌曲和专辑.
- 简单的可配置性
- linux系统可以调用mid3iconv自动修改歌曲的ID3信息编码
- 跨平台性,使用python做为核心,可以运行于大部分linux和windows操作系统,理论上mac也可以,没条件测试
- 界面和核心分离,默认有一个使用pygtk的界面,也可以使用命令行方式操作
安装方法:
- linux版本安装法:下载源码包后,解压,可以 sudo ./install -i 安装至系统目录,就可以在菜单选择”应用程序”-”影音”-”google music box”打开GUI界面,或者运行gmbox打开CLI界面. (-u可以卸载干净的.)
- linux版本不安装法: 下载源码包后,解压,直接运行 gmbox/src/mainwin.py 打开GUI界面; 直接运行 gmbox/src/cli.py 打开CLI界面.
- windows版本: 下载自解压包后,解压至任意目录,运行 mainwin.exe 打开GUI界面,运行 cli.exe 打开CLI界面.
使用方法:超简单,谁用谁知道…
已知bug:还蛮多的,比如试听不支持,歌词下载不支持,还有界面太丑等….哦,现在关闭主窗口,后台的下载进程还不会自动关掉的…以后慢慢完善吧.
再来个截图:

python学习笔记(1)
学习笔记,放硬盘里可能哪天就丢了,还是放这吧。
1,异常
dive into python,6.1有这么一个例子:
>>> fsock = open("/notthere", "r") Traceback (innermost last): File "<interactive input>", line 1, in ? IOError: [Errno 2] No such file or directory: '/notthere' >>> try: ... fsock = open("/notthere") ... except IOError: ... print "The file does not exist, exiting gracefully" ... print "This line will always print" The file does not exist, exiting gracefully This line will always print
那么当异常不在except IOError里面呢?
try: fsock = open("/notthere") except ImportError: print "The file does not exist, exiting gracefully" print "This line will always print"
C:\>test.py Traceback (most recent call last): File "C:\1.py", line 2, in <module> fsock = open("/notthere") IOError: [Errno 2] No such file or directory: '/notthere'
可以看到当异常匹配不上except时,还会由python处理。
所以,当对异常类型不了解或者懒得了解的话还是直接except后不要加类型的好:
try: fsock = open("/notthere") except: print "The file does not exist, exiting gracefully" print "This line will always print"
C:\>test.py The file does not exist, exiting gracefully This line will always print
2,
try: import termios, TERMIOS except ImportError: try: import msvcrt except ImportError: try: from EasyDialogs import AskPassword except ImportError: getpass = default_getpass else: getpass = AskPassword else: getpass = win_getpass else: getpass = unix_getpass
else是当没有异常的时候执行,也就是正常的时候执行
finally是无论如何都会执行,下面的例子中是用了两个try和finally是为了确保关闭句柄。(如果放第一个try块外,虽然也会关闭句柄,但是open的时候也可能出错导致并没有句柄)
try: fsock = open(filename, "rb", 0) try: fsock.seek(-128, 2) tagdata = fsock.read(128) finally: fsock.close() . . . except IOError: pass
3,文件打开模式,好奇怪,难道不能以rwb方式打开?:
>>> os.listdir(".") ['bin', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'Microsoft.VC90. CRT.manifest', 'msvcr90.dll', 'NEWS.txt', 'pycairo-wininst.log', 'pygobject-wini nst.log', 'pygtk-wininst.log', 'python.exe', 'python26.dll', 'pythonw.exe', 'REA DME.txt', 'Removepycairo.exe', 'Removepygobject.exe', 'Removepygtk.exe', 'Script s', 'share', 'tcl', 'Tools', 'w9xpopen.exe'] >>> test = open("NEWS.txt", "rwb") Traceback (most recent call last): File "<stdin>", line 1, in <module> IOError: [Errno 22] invalid mode ('rwb') or filename: 'NEWS.txt' >>> test = open("NEWS.txt", "rb") >>> test.close() >>> test = open("NEWS.txt", "wb") >>>
近期评论
- mtian 发表在《JScript.Encode的解密》
- Demon 发表在《JScript.Encode的解密》
- mtian 发表在《base62的解码分析》
- Charles 发表在《base62的解码分析》
- 南瓜 发表在《迅雷客户端漏洞三个》