导入与当前模块同名的python标准库

时间:2014-07-19 00:47:30

标签: python python-2.7

我正在尝试构建一个Python项目,当前模块的名称(让我们称之为电子邮件)与标准库中的模块名称相同。我需要从标准库导入,但是我尝试从库中导入时出错。

示例:

Project/
    email.py

# email.py script
import email

# do something with the standard email library.

有什么方法可以保留我的模块email.py的名称,还是更改它的最佳选择?我做了一些研究,他们似乎更多地关注这样的案例:

Project/
    main.py # Current module
    email.py

2 个答案:

答案 0 :(得分:2)

首先,创建一个影响另一个模块的模块是不好的做法。但是,这并不妨碍您继续进行。

导入__future__ import absolute_import作为main文件中的第一次导入。

这会强制导入使用绝对路径而不是相对路径。现在,import email导入该标准库。您可以按from . import email

导入本地版本

答案 1 :(得分:1)

您最好的选择是更改自己的模块名称。在Python中,冲突的名字总是很糟糕!

有一次我因为有一个名为code.py

的文件而崩溃了IDLE和我的python