簡體   English   中英

如何使用單個 python(.py) 腳本運行多個 python 腳本

[英]How to run multiple python scripts using single python(.py) script

我編寫了多個 python 腳本,這些腳本將按順序運行以實現目標。 IE:

我的目錄/ a1.py, xyz.py, abc.py, ...., an.py

所有這些腳本都在同一個目錄中,現在我想編寫一個可以按順序運行所有這些.py 腳本的腳本。 為了實現這個目標,我想寫一個單獨的 python(.py) 腳本,但不知道怎么寫。 我有 windows10,所以 bash 腳本方法不適用。

在 windows 中編寫高效遷移腳本的最佳方法是什么?

可以使用主 python 腳本(它是跨平台的,而不是批處理或 shell)。 掃描目錄並打開每個文件,執行它。

import glob,os
os.chdir(directory)  # locate ourselves in the directory
for script in sorted(glob.glob("*.py")):
    with open(script) as f:
       contents = f.read()
    exec(contents)

(在 python 2 中有一個execfile方法,但它不見了,在 python 3 中我們必須讀取文件內容並將其傳遞給exec ,這在 python 2 中也有效)

在該示例中,順序由腳本名稱確定。 要修復不同的順序,請改用 python 腳本的顯式列表:

for script in ["a.py","z.py"]:

該方法不會創建子流程。 它只是運行腳本,就好像它們被串聯在一起一樣(如果某些文件沒有關閉並被后續腳本使用,這可能是一個問題)。 此外,如果發生異常,它會停止整個腳本列表,這可能還不錯,因為它避免了以下腳本處理錯誤數據。

您可以像這樣為所有腳本 2 命名 function:

script2.py
def main():
    print('Hello World!')

並使用以下命令導入 script2 function:

script1.py
from script2.py import *
main()

我希望這對您有所幫助(如果我沒有回答您的問題,請告訴我我是意大利人……)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM