易截截图软件、单文件、免安装、纯绿色、仅160KB

Python脚本解析BitTorrent种子文件内容

有很多种子文件,有时候记不清里面都是什么东西,又不想一个一个的拖放到迅雷或BT软件里头看,
上网查了一下Python的脚本,自己也稍微修改了一下,代码如下,粘贴到文本编辑器中(最好是带格式的如UltraEdit或VS2008等):
保存成py后缀的,直接运行
import re
def tokenize(text, match=re.compile("([idel])|(\d+):|(-?\d+)").match):
i = 0
while i < len(text):
m = match(text, i)
s = m.group(m.lastindex)
i = m.end()
if m.lastindex == 2:
yield "s"
yield text[i:i+int(s)]
i = i + int(s)
else:
yield s
def decode_item(next, token):
if token == "i":
# integer: "i" value "e"
data = int(next())
if next() != "e":
raise ValueError
elif token == "s":
# string: "s" value (virtual tokens)
data = next()
elif token == "l" or token == "d":
# container: "l" (or "d") values "e"
data = []
tok = next()
while tok != "e":
data.append(decode_item(next, tok))
tok = next()
if token == "d":
data = dict(zip(data[0::2], data[1::2]))
else:
raise ValueError
return data
def decode(text):
try:
src = tokenize(text)
data = decode_item(src.next, src.next())
for token in src: # look for more tokens
raise SyntaxError("trailing junk")
except (AttributeError, ValueError, StopIteration):
raise SyntaxError("syntax error")
return data
if __name__ == "__main__":
#需要读取的文件名称放到这里
data = open("Riko.Tachibana.torrent", "rb").read()
torrent = decode(data)
myfile = file("testit.txt", 'w')
a = u'文件名称'.encode('gbk')
b = u'文件大小'.encode('gbk')
print "%s \t %s \n" % (a,b)
for file in torrent["info"]["files"]:
print "%s \t %d Mb " % ("/".join(file["path"]), file["length"]/1024/1024)
print "------------------------------


相关文档:

Python字符串操作

 #Python字符串操作
''
'1.复制字符串'
''
#strcpy(
sStr1,
sStr2)
sStr1 =
'strcpy'
sStr2 =
sStr1
sStr1 =
'strcpy2'
print
sStr2
''
'2.连接字符串'
''
#strcat(
sStr1,
sStr2)
sStr1 =
'strcat'
sStr2 =
'append'
sStr1 +
=
sStr2
print
sStr1
''
'3.查找字符'
''
#strc ......

正则表达式与python

 在Python中有一个非常重要也非常好用的模块re,在import re后,就能够在Python中使用正则表达式,源于此次项目要用正则表达式对html代码提取一定的字符,所以在这也就用些小例子来熟悉一下正则表达式
现在就用最简单的例子
import re
s='<title>http://www.baidu.com</title>'
print re.findall(r'&l ......

python os 模块

Python 3 教程二:文件,目录和路径
http://www.cnitblog.com/yunshichen/archive/2009/04/01/55931.html
python os模块
http://hi.baidu.com/happynp/blog/item/729243f902d5a751242df2c2.html
http://hi.baidu.com/fiber212121/blog/item/6e07ec03c97b6982d53f7c27.html
python getopt模块
http://www.tsnc.edu.cn/de ......

python中类属性和类实例的属性的区别

以下内容转载自javaeye.com的作者bluecrystal
环境说明:以下python代码均在python2.5下通过。
    最近看到一些人在讨论python中类属性和类的实例的属性,我也来谈谈我个人对这个问题的看法,供pyer参考。
    首先我们来简单的定义一个python的类:
Python代码
# coding:  ......

对python的isinstance的认识

>>> class objA:
...     pass
...
>>> A = objA()
>>> B = 'a','V'
>>> B
('a', 'V')
>>> C = 'a string'
>>> print instance(A,objA)
Traceback (most recent call last):
  File "<stdin>", line 1, in < ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号