[英]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.