天天看點

python 相對路徑導入 與 絕對路徑導入

我的了解:

假設有一個檔案夾 app

若 app 下有<code>app/__init__.py</code>檔案,則此 app 被視作一個 package,而 app 下的其他檔案/檔案夾被視作 module

我們知道,package 的意義是作為一個整體,提供某些功能。是以,package 内部的各個 module 之間使用相對路徑導入。

比如:在 module1.py 内,這樣相對導入:<code>from .module2 import myClass2</code>

注意,問題來了,此時不能之間運作 module.py 這個檔案,否則會報錯:SystemError: Parent module '' not loaded, cannot perform relative import

我們隻能在package外,也就是檔案夾 app 外的 run.py檔案中導入:<code>from app.module2 import myClass2</code>