我是python和bencoding的新手。我需要使用python为我的项目读取和编写torrent文件。我已经导入了模块,这是我的代码来解析torrent:
以下是我的模块http://paste2.org/p/1442120的链接,该模块是http://pypi.python.org/pypi/BitTorrent-bencode/5.0.8.1
的mod import sys
from bencode import *
f = open('file.torrent','rb') #binary read write
for line in f:
print line,
print bdecode(line)
这会抛出无效的bencoded字符串错误 如果我理解正确,bdecode函数一次需要一个值但是如何解析torrent文件?或者......
答案 0 :(得分:10)
问题是Bencoded文件不是面向行的文件。你正在做的就像拿报告,把它穿过碎纸机,然后一次一把地递给你的老板。以下是解码Bencoded文件的正确方法:
import bencode
print bencode.bdecode(open('file.torrent', 'rb').read())