2015-05-25 80 views
2

我試圖使用bdecode從bencode庫,可以說了:如何幹淨地導入bencode?

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:

enter image description here

但是我的代碼我因錯誤而無法得到任何結果。事實上,進口沒有找到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 

enter image description here

有關bencode安裝信息,我只是做了「點子安裝bencode」

回答

1

你叫你的程序bencode.py這掩蓋已安裝的庫。重命名你的腳本,然後再試一次:

更好:

import bencode 

bencode.bdecode(string_to_decode)