如何在模块路径中导入标准库而不是同名模块

Ale*_*lex 5 python import naming-conventions python-2.7

我有以下目录结构

main_code.py
libs/
    __init__.py
    mylib.py
    time.py
Run Code Online (Sandbox Code Playgroud)

main_code.py刚刚进口mylib:

from libs import mylib
Run Code Online (Sandbox Code Playgroud)

mylib.py只是导入time:

import time
print time
Run Code Online (Sandbox Code Playgroud)

现在它证明了mylib.py导入libs/time.py不是内置的标准库time.有没有办法获得"正常"行为,即mylib.py导入内置标准库time,而不改变time.py?这是否是"正常"行为?我必须重命名time.py吗?在这个问题上,是否有比PEP8更多的风格指南建议?

jfs*_*jfs 6

在顶部添加mylib.py:

from __future__ import absolute_import
Run Code Online (Sandbox Code Playgroud)

请参阅绝对进口的理由.