我在同一個目錄中的兩個文件,並在任何地方沒有__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