Python 如何导入内置模块而不是当前文件夹中的同名自定义模块?

Python 如何导入内置模块而不是当前文件夹中的同名自定义模块?,python,Python,我有一个名为mylib的Python包,里面有一个名为os的模块: mylib |- __init__.py |- os |- __init__.py |- makedirs.py 现在,当我导入mylib时,它的\uuuu init\uuuu.py被调用: from os import environ from os.path import dirname, join, abspath # then do something with the paths 在这里,我试图使用内

我有一个名为
mylib
的Python包,里面有一个名为
os
的模块:

mylib
|- __init__.py
|- os
   |- __init__.py
   |- makedirs.py
现在,当我导入mylib时,它的
\uuuu init\uuuu.py
被调用:

from os import environ
from os.path import dirname, join, abspath

# then do something with the paths
在这里,我试图使用内置的
os
,但我的Python似乎认为我想使用
mylib
的模块
os
,因此抛出:

ImportError: No module named path
我知道有些人反对在自定义名称中使用与标准内置名称相同的名称,但我真的认为我应该保留名称
os
,因为它是最直观、最容易记住的名称


在这种情况下,我如何让Python知道它应该导入内置的
os

您是否尝试过从mylib导入abc,xyd中导入
?只导入所需内容。如果您的软件包不打算仅由您自己使用,
os
可能会误导其他人,记住这一点。@GreenCoveGuy将不会
mylib.os
仍然被缓存在
sys.modules
?为什么不做一件简单的事情,重命名你的模块?找出python模块在你的计算机上保存的位置,然后通过文件路径导入它们。实际上,最简单的方法是重命名你的软件包-
os
可能是个好名字,但是
operating\u system
或者你的
os
所代表的任何东西会那么糟糕吗?导入时,您始终可以将其别名,例如,
将操作系统导入为osm