我正在尝试使用来自bencode库的bdecode:
def bdecode(x):
try:
r, l = decode_func[x[0]](x, 0)
except (IndexError, KeyError, ValueError):
raise BTFailure("not a valid bencoded string")
if l != len(x):
raise BTFailure("invalid bencoded value (data after valid prefix)")
return r
from types import StringType, IntType, LongType, DictType, ListType, TupleType
位于init的此处:
但是由于错误,我的代码无法获得任何结果。确实,导入找不到bdecode,但是我不明白为什么。
这是简单的代码和错误输出:
from bencode import *
blabla = 'd8:announce70:http://tracker.t411.io:56969/c5faa6720249d33ff6ba2af48640af89/announce7:comment29:https://www.t411.io/t/524280210:created by19:https://www.t411.io13:creation datei1431685353e4:infod6:lengthi14634059e4:name22:Charlie-Hebdo-1178.pdf12:piece lengthi262144e6:pieces1120:'
myprint = bdecode(blabla)
print myprint
有关bencode安装的信息,我刚刚制作了“ pip install bencode”
最佳答案
您调用程序bencode.py
会掩盖已安装的库。重命名脚本,然后重试:
更好:
import bencode
bencode.bdecode(string_to_decode)