Python "from xxx.yyy 导入 xxx" 错误

15 投票
3 回答
1700 浏览
提问于 2025-04-15 17:52

我正在使用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

撰写回答