rti*_*dru 5 python ipython python-import python-2.7
我有一个名为Queue的python模块与python中的默认队列冲突.
在尝试强制导入默认队列时,我试图简单地清除sys.path.
我理解从sys.path查找导入.但是在我清除syspath之后,Python似乎仍然能够导入模块.
请解释一下!
In [26]: sys.path
Out[26]: []
In [27]: import datetime
In [28]: datetime
Out[28]: <module 'datetime' from '/usr/local/python2.7/lib/python2.7/lib-dynload/datetime.so'>
In [31]: import xyz.Queue
In [32]: xyz.Queue
Out[32]: <module 'xyz.Queue' from '/public/abc/def/ghi/xyz/Queue/__init__.pyc'>
In [33]: sys.path
Out[33]: []
Run Code Online (Sandbox Code Playgroud)
另外如何导入本机模块队列而不是Queue.
我知道重构Queue是这个问题应该得到的解决方案,但它不是现在需要的解决方案.
添加from __future__ import absolute_import为文件中的第一行。
这将迫使所有进口都是绝对的而不是相对的。因此import Queue将导入标准模块,以导入您要使用的本地模块from . import foobar
| 归档时间: |
|
| 查看次数: |
512 次 |
| 最近记录: |