0

Python で bdecode ライブラリを使用して bencode 形式をデコードしようとしています。bcode ライブラリも python フォルダーにインポートしました。ライブラリで定義されている関数 bdecode を使用しようとすると。エラーが発生する

                 File "C:\Python27\fit.py", line 21, in <module>
                 decoded = bdecode(data)
                 NameError: name 'bdecode' is not defined  

なぜこのエラーが発生しているのか、私はPythonが初めてですか?これが bcode ライブラリによるものである場合、誰かが他の bcode ライブラリへのリンクを送信できますか?

これは私が試しているコードです

             import  bcode, urllib, urlparse, string
             url = "http://update.utorrent.com/installoffer.php?"
             url = url + "offer=conduit"

             filename = "out_py.txt"
             urllib.urlretrieve(url,filename)

             with open ("out_py.txt", "r") as myfile:
             data=myfile.readlines()

             decoded = bdecode(data)
4

1 に答える 1

1

この 2 つの方法のいずれかを解決するには、インポート ステートメントを変更します。

from bcode import bdecode
import urllib, urlparse, string

または、関数を呼び出す行を変更します。

decoded = bcode.bdecode(data)

問題は、bcode モジュールをインポートしているときに、その中のシンボルをローカル名前空間にインポートしていないことです。

于 2012-08-10T21:46:27.687 に答える