我想多次運行腳本,使用不同的路徑作爲參數,並查看輸出。無法獲取從python運行的shell腳本輸出
如果我在命令提示符下運行與參數path_to_code/code1.cpp
腳本path/lizard
path/lizard path_to_code/code1.cpp
我得到的輸出 - 我想對多個文件運行此腳本。在this和類似的問題
看,我試過
import os, glob
def run_command(command):
os.system(command)
program = '"C:/Python27/Scripts/lizard.bat "'
path = '"path_to_code/*.cpp"'
for path1 in glob.glob(path):
command = program + path1
run_command(command)
無輸出。
import glob, subprocess
def run_command(command):
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
out, err = p.communicate()
print out
program = '"C:/Python27/Scripts/lizard.bat "'
path = '"path_to_code/*.cpp"'
for path1 in glob.glob(path):
command = program + path1
run_command(command)
沒有輸出。
(當然,我想通過目錄遞歸迭代,但這是下一步)。
如何獲得從腳本運行的程序的輸出?我認爲從邏輯上說,兩個版本都應該讓我輸出......我做錯了什麼?
的路徑python腳本週圍的雙引號尾隨空間看起來我錯了。除去幫助嗎? –
http://stackoverflow.com/questions/4760215/running-shell-command-from-python-and-capturing-the-output – Doon
沒有它的@EtanReisner,路徑和參數在一個字符串中,沒有這樣的程序。 – Thalia