Python小技巧 執行目錄或ZIP檔案

2022-06-07 21:48:10 字數 1063 閱讀 6739

在寫python程式時,將不同功能**寫在不同檔案中是乙個好習慣,但是對於某些情況。如需要將指令碼提供給別人執行使用,如若將程式寫在幾個檔案中,則需要將檔案都發給他人。別人就需要管理不同檔案,這樣對於別人來說會顯得雜亂,麻煩。如果將**都寫在乙個檔案中,對於簡單的指令碼沒啥毛病,但如果複雜了**量多了,都寫在乙個檔案,則對自己而言不好維護。

如果能將不同檔案**放在乙個目錄中,直接執行目錄,不就能解決了這個問題了嗎。python提供這樣的方式:python能直接執行乙個包含__main__.py的目錄或者zip檔案

目錄結構:

.

|—— abc/

|—— a.py

|—— __main__.py

示例**:

# a.py

def echo():

print('abc!')

# __main__.py

if __name == '__main__':

import a

a.echo()

運**況:

$ python abc

abc!

就如同上面這個簡單例子,寫**按照這樣的結構,將多個**檔案放在乙個目錄中,提供乙個主程式入口__main__.py。然後執行目錄時,python直譯器會自動執行__main__.py中的**。

此外你還可以直接將多個檔案壓縮成乙個zip檔案。直接執行zip檔案也同樣可以。

目錄結構:

.

|—— abc.zip/

|—— a.py

|—— __main__.py

運**況:

$ python abc.zip

abc!

參考
《python cookbook》

其它文章

優雅的檢視json資料

docker目錄對映加z或Z標籤是什麼含義呢?

如果使用selinux,則可以新增z或z選項來修改要裝入容器的主機檔案或目錄的selinux標籤。這會影響主機本身上的檔案或目錄,並可能導致超出docker範圍的後果。這些選項請格外小心。繫結安裝系統目錄 例如 home或 usr帶有該z選項 會使主機無法操作,並且您可能需要手動重新標記主機檔案。重...

shell小技巧實戰 判斷檔案或目錄是否存在

在編寫shell指令碼時,通常最開始的工作是對環境的檢查,比如檢查某一檔案或目錄是否存在,並執行相應的操作等。下面的shell指令碼實現的功能是,先檢查某一目錄是否存在,不存在的話就建立此目錄,存在的話就cd到這個目錄下。bin bash 指定用到的shell直譯器 export mypath tm...

python中執行shell命令的小技巧

今天在寫乙個python檔案,其中想要去執行系統shell命令,在這條命令中,會用到pyhton變數,但是當我使用subprocess.popen 這個函式去執行的時候,會預設將變數當成乙個字串來使用,這就很尷尬了。下面 為我的處理辦法 lines ff.readlines for line cod...