我的項目樹是這樣的:蟒蛇,進口包從父目錄
maindir\
dir1\
MAINSCRIPT.py
dir2\
scriptA.py
的MAINSCRIPT.py
是我的主要腳本!
如何導入scriptA.py
從MAINSCRIPT.py
我的項目樹是這樣的:蟒蛇,進口包從父目錄
maindir\
dir1\
MAINSCRIPT.py
dir2\
scriptA.py
的MAINSCRIPT.py
是我的主要腳本!
如何導入scriptA.py
從MAINSCRIPT.py
嗯,這不是技術問題,Python包擺在首位,或者它本來每個文件夾中的__init__.py
。而且我很困惑,爲什麼你會把你的主程序放在你的一個文件夾中。但是我經常用來導入一個不在Python的定期檢查路徑中的文件是
import sys; sys.path.insert(0, '../dir2'); import scriptA
希望有幫助! 欲瞭解更多信息:more on path insertion
下很好的解決方案是從ImportError: attempted relative import with no known parent package
您可以使用相對進口。首先改變你的目錄結構如下:
maindir\
main.py
lib\
__init__.py
dir1\
__init__.py
MAINSCRIPT.py
dir2\
__init__.py
scriptA.py
MAINDIR \ LIB \ DIR1 \ MAINSCRIPT.py
from ..dir2 import scriptA
...
MAINDIR \ main.py現在
import lib.dir1.MAINSCRIPT
,我們可以從maindir\
調用腳本:
python main.py