zjm_code
|-----a.py
|-----a
|----- __init__.py
|-----b.py
a.py中的是:
c='ccc'
b.py中的是:
import a
print dir(a)
当我执行b.py时,它显示(它导入'a'文件夹):
['__builtins__', '__doc__', '__file__', '__name__', '__path__']
当我删除文件夹时,它显示,(它导入a.py):
['__builtins__', '__doc__', '__file__', '__name__', 'c']
所以我的问题是:
如何通过不删除文件夹来导入a.py
感谢
更新
我使用imp.load_source,因此在b.py中是:
import imp,os
path = os.path.join(os.path.dirname(__file__), os.path.join('aaa.py'))
ok=imp.load_source('*',path)
print ok.c
现在好了,打印'ccc'
和
如何通过“print ok”显示“ccc”而不是通过“print ok.c”???
感谢
updated2
现在好了:
imp.load_source('anyname',path)
from anyname import *
print c
显示'ccc'
updated3
也没关系:
import imp,os
imp.load_source('anyname','aaa.py')
from anyname import *
print c
答案 0 :(得分:2)
使用imp.load_module
- 您可以在那里指定文件目录,覆盖导入行为。
答案 1 :(得分:1)
将文件夹重命名为其他名称。具有相同名称的文件夹优先。