0

我正在尝试使用 python 中的 bdecode 库来解码 bencode 格式。我已经在我的 python 文件夹中导入了 bcode 库。当我尝试使用库中定义的函数 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

您可以通过以下两种方法之一解决此问题,更改您的导入语句:

from bcode import bdecode
import urllib, urlparse, string

或者更改调用函数的行:

decoded = bcode.bdecode(data)

问题是,当您导入 bcode 模块时,您没有将其中的任何符号导入本地命名空间。

于 2012-08-10T21:46:27.687 回答