我在同一个目录中的两个文件,并在任何地方没有__init__.py
文件:这个Python导入如何工作?
c:\work\test>tree
.
|-- a
| `-- a
| |-- a1.py
| `-- a2.py
`-- b
一个文件导入另:
c:\work\test>type a\a\a1.py
print 'a1-start'
import a2
print 'a1-end'
c:\work\test>type a\a\a2.py
print 'a2'
的导入成功,即使从一个完全不同的位置运行:
c:\work\test\b>python ..\a\a\a1.py
a1-start
a2
a1-end
我跑
c:\work\test>python -V
Python 2.7.3
和我的PYTHONPATH和PYTHONHOME变量未设置
c:\work\test>echo %PYTHONPATH% %PYTHONHOME%
%PYTHONPATH% %PYTHONHOME%
如何a1.py
找到a2
?
我会哈扎德猜测,如PHP,Python的将评估多个位置查找文件,包括当前的工作目录? – 2014-12-03 15:55:21
当前工作目录是'测试\ B' ... – thebjorn 2014-12-03 15:57:38
该脚本运行从一个,但是,原谅我缺乏Python的知识,但PHP和我相信大多数语言会同样对待这种情况,当你键入..这只是改变该脚本的工作目录 – 2014-12-03 15:59:55