如何調用以bash腳本編寫的外部程序,以便該腳本生成的輸出在sys.stdout中可用,以便我可以記錄通過python輸出到一個文件中。通過Python調用外部程序並將輸出傳遞給標準輸出
例如。我現在請他們通過下面的代碼片段
if os.name == 'nt':
path = module_dir_run+'/run.bat'
else:
path = module_dir_run+'/run.sh'
if os.path.isfile(path):
if (splitargs.arg):
try:
call([path, splitargs.arg])
except:
pass
else:
try:
call([path])
except:
pass
else:
print "Not found : " + path
當我存儲sys.stdout = file(filename, "w")
IT賣場無論該蟒蛇輸出值,但不是什麼腳本輸出。
注意:我試圖運行的腳本是一個交互式腳本,所以在調用結束後,控件已經回到python,我如何獲得所有寫在終端中的內容? 有什麼建議嗎?
是否必須寫輸出到'stdout'?我建議只寫入一個文件然後讀取文件。 – Skyler
你需要包含'call'是什麼。 –
@InbarRose:'subprocess.call'據推測。 –