2017-05-15 72 views
1

我有一個用於服務器自動化任務的腳本test.py,並具有列出所有服務器名稱的其他腳本server.py。如何從另一個python腳本執行python腳本並將其輸出爲文本文件

server.py列出text.log文件中的所有sevrer名稱,並將此日誌文件用作test.py作爲輸入。

我想要一個腳本test.py從它內部執行server.py,並且還將server.py腳本輸出重定向到text.log文件。

到目前爲止,我已經嘗試使用execfile(「server.py」)> text.log在test.py中沒有工作。

回答

4

使用subprocess.callstdout說法:

import subprocess 
import sys 

with open('text.log', 'w') as f: 
    subprocess.call([sys.executable, 'server.py'], stdout=f) 
    # ADD stderr=subprocess.STDOUT if you want also catch standard error output 
+0

非常感謝,它的工作! –

相關問題