我正在運行我自己的腳本來啓動HandBrakeCLI。 HandBrake需要幾個小時來完成它的工作。Python,從運行命令獲取狀態
我打算從cron啓動此腳本,所以會出現從腳本沒有真正的輸出(我可以隨時更新文件時間。)
手剎能告訴我它是什麼在底部做終端在運行時的線路。
我正在使用Popen來啓動手剎。
我怎樣才能看到手剎的輸出,而它正在運行以收集它在真實(接近真實)時間的狀態?
這裏是我使用的命令:
command = ['HandBrakeCLI', '-i', long_source, '-o', long_target, '-f', 'mp4'] # + a bunch more
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print out
print err
這工作,但我想從Popen
輸出執行過程中,不能等到它完成之後。
謝謝,馬克。
PS。 Ubuntu服務器12.04
你嘗試過什麼?在我看來,'subprocess.Popen'完全是正確的方法,所以沒有看到錯誤信息,我不知道爲什麼你不能這樣做。 – jez
這裏是我正在使用的命令:'p = subprocess.Popen(['HandBrakeCLI','-i',long_source,'-o',long_target,'-f','mp4'..一堆更多],標準輸出= subprocess.PIPE,標準錯誤= subprocess.PIPE)' \t \t'出來,ERR = p.communicate()' \t \t'打印out' \t \t'打印err' –
這工作,但我想從輸出Popen ** **執行期間,不要等到完成後。格式在這個評論部分不起作用。 –