Python工具腳本調用外層模塊的操作方法
入口文件應該在最外面,調用關系應該是從外向內調用。絕對不能學Java,從一個很深層的文件夾里面往外調用。
不過我在這篇文章的最后,也提到了一種例外情況,那就是工具腳本不受這個規(guī)則的限制。如下圖所示。

今天有同學在問我,這種情況應該怎么調用,才能讓remove_outdated_data.py正確導入models里面的模塊。我們就來說明一下。
首先,我們來創(chuàng)建一個示例程序,結構如下圖所示:

其中,aa.py文件的內容為:
def i_am_func():
print('我是一個函數(shù)')test.py文件的內容為:
from models.aa import i_am_func i_am_func()
那么,不修改任何環(huán)境變量,也不修改sys.path的情況下,我應該怎么運行test.py,才能讓它正確調用i_am_func函數(shù)?
首先我們進入tools文件夾運行,顯然會報錯,如下圖所示:

接下來,我們在項目根目錄下面運行,也會報錯:

那應該怎么辦呢?難道必須加環(huán)境變量或者改sys.path?
其實,Python已經(jīng)自帶了正確運行工具腳本的方法,就是-m參數(shù)。我們只需要在項目根目錄執(zhí)行下面這個命令就可以了:
python -m tools.test
如下圖所示:

如果工具腳本在很深的文件夾里面,那么路徑只需要使用點分割就可以了。例如下面的文件結構:

要運行second.py,那么命令就寫成:
python -m tools.deep.folder.second
如果你的工具腳本有參數(shù),也可以正常添加,例如:
python -m tools.deep.folder.second args1 args2
到此這篇關于Python工具腳本如何調用外層模塊的文章就介紹到這了,更多相關Python調用外層模塊內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python實現(xiàn)內存監(jiān)控系統(tǒng)
這篇文章主要為大家詳細介紹了python實現(xiàn)內存監(jiān)控系統(tǒng),通過系統(tǒng)命令或操作系統(tǒng)文件獲取到內存信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06
Python3.9.0 a1安裝pygame出錯解決全過程(小結)
這篇文章主要介紹了Python3.9.0 a1安裝pygame出錯解決全過程(小結),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02

