Python "from xxx.yyy 导入 xxx" 错误
我正在使用Python中的PyFacebook
这个包,看到很多人提到你可以这样写导入语句:
from facebook.djangofb import facebook
但是,这个方法不管用。它显示facebook.method_name
是在facebook
模块里,而不是在djangofb
模块里。我猜我导入的facebook.method_name
是作为facebook
来使用的,而不是直接从facebook
包里拿的。
我用的是Python 2.6。
我该如何把facebook.djangofb
当作facebook
来用呢?
3 个回答
2
from facebook import djangofb as facebook
如果你想把 djangofb
导入为 facebook
,你可以这样做。
这样一来,你就可以像使用 facebook.method_name
一样,使用 facebook.djangofb.method_name
。
不过,通常我们会给它一个不冲突的名字,比如 fb
或者 face
。这样可以避免和根本的 facebook
导入冲突。
6
来自Python 3 文档(在Python 2.6中也是一样的,不过我觉得 Python 3 的文档解释得更清楚):
如果模块名后面跟着
as
,那么as
后面的名字就直接和导入的模块绑定在一起。
所以你的语句应该像这样:
import facebook.djangofb as facebook
然后 facebook.method_name
就可以正常使用了。
另外,你可以查看在 Python 中可以为导入的模块定义别名吗?,了解更多关于别名的选项。
30
这是通过导入给模块起别名的正确方法:
import facebook.djangofb as facebook