Python 的一个 Bug

今天要写一个统计脚本,于是打开 Aptana,建了一个文件叫 stat.py,取的 statistics 的缩写,但是一直报错如下 Traceback (most recent call last): File "C:\Python27\lib\site.py", line 62, in <module> import os File "C:\Python27\lib\os.py", line 63, in <module>……

阅读全文

Python eyeD3 库的乱码问题初步

续上次的,再次折腾专辑封面,请教了江阁之后,江阁给了一个 hack,现在基本可以读取 gbk 的 id3 了,附上现在的代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # 2012.12.3 '''根据豆瓣自动补全专辑封面''' import os, sys, re, time, urllib, eyeD3 reload(sys) sys.setdefaultencoding('utf-8') import lo……

阅读全文

再次折腾专辑封面

最近 itunes 升级,于是重新在整理音乐文件,看到那些没有专辑封面的 mp3,于是骨子里的不折腾不舒服斯基又发作了,手贱准备再次开始写一个自动工具来搞,上次的折腾记录在这里,根据 ID3 自动补充专辑封面和歌词 上次的失败是因为那个库对于中文的编码支持不是很好,于是最后就出现一些乱码问题,等等,于是这次准备换 ……

阅读全文

python http head 工具

群上闲聊,说道自己封装了一个 python 的 http head 工具 #!/usr/bin/env python from socket import * while True: HOST = raw_input('> ') if not HOST: break tcpCliSock = socket(AF_INET, SOCK_STREAM) PORT = 80 BUFSIZ = 1024 ADDR = (HOST, PORT) tcpCliSock.connect……

阅读全文

针对正则引擎的拒绝服务攻击

最近在看这个书,http://book.douban.com/subject…,在 311 页讲到了一个针对正则引擎的 DoS,叫做 ReDoS,wiki 看这里,http://en.wikipedia.org/wiki/R…,原因是正则引擎在匹配的时候是用状态机,然而通过构造一些特殊的输入,可以让这个状态机需要尝试的路径暴涨,于是就耗时也跟着上升,照着书上敲了代码……

阅读全文

最短脚本下载文件

今天遇到一个题,给定一个文本文件,每一行一个 url,用脚本把他们下载回来,语言不限,越短越好 简短这种事情首先想起 python import urllib f = open("url.txt", "r") for line in f: urllib.urlretrieve(line, line[line.rfind("/") + 1:-1]) f.close() 准备的 url.txt,需要注……

阅读全文

算法复习之快速排序

快速排序这个自己想了一会,真的想不出来,还是查了资料,使用 C89 标准函数库有一个非常简单的写法,(维基上的不能跑,自己稍稍改了一下) #include <stdio.h> #include <stdlib.h> static int cmp(int *a, int *b) { return *a-*b; } int main() { int arr[10]={5, 3, 7, 4, 1, 9, 8, 6, 2}; qsor……

阅读全文

Linux 下多个 Python 版本造成 easy_install 出错

debian 默认有 python 2.5 ,我下了 2.73 的源码包自己编译安装了,也改了系统的默认调用 sudo rm /usr/bin/python sudo ln -s /usr/lib/python2.73/python2.7 /usr/bin/python 这样确实可以默认启用 2.73 的 python ,但是后来使用 sudo apt-get install python-setuptools sudo easy_install pip 的时候就报错,报……

阅读全文

Python win32com 初步

第一次接触 com 编程,还挺好玩的,以前想要生成一份 ms office  文档的话,思路都是使用一些类库来直接生成,或者读写,原来还可以这样通过一个 com 像指挥一样向程序发指令让程序本身去执行,虽然没有写过 office 里面的 vbscript ,不过估计应该是跟这个挺类似的吧,有点意思。 想要使用 Python 进行 com 操作的话需……

阅读全文