强制从Python标准库导入模块,而非PYTHONPATH默认值
我在PYTHONPATH的一个目录里有一个自定义模块,它的名字和标准库里的一个模块是一样的。所以当我用import module_name
的时候,加载的是我的那个模块。如果我想使用原来的标准库模块,有没有办法强制Python从标准库里导入,而不是从PYTHONPATH目录里导入呢?除了重命名我的自定义模块并且修改所有引用到新名字的地方?
3 个回答
7
你可以使用imp模块来选择你想要导入的模块:
import imp
mymodule = imp.load_module(name, file, pathname, description)
12
别这样。
如果你不小心用了一个和标准库模块同名的名字,赶紧改一下你的模块名字,避免冲突。
12
最好的办法是把你的模块改个名字,确保它不是标准库里的名字。
如果你使用的是Python 2.5或更高版本,你还可以开启绝对导入:
from __future__ import absolute_import