我是學習Python的新手,並在命令行中工作,例如,管道。子進程 - 使用幾個命令行工具
我讀過這個子進程是鼓勵方式而不是os.system。我正在創建一個調用shell的腳本,我無法使用子進程來完成它。使用使用os.system是易如反掌,但:
os.system("cut -f1-4 " + temp1.name + "| uniq --count | sort -rn > " + temp2.name)
我已經成功地使用了其他命令的子進程,而不是那些以組合多個工具「|」。讀取子進程的python文檔令人困惑,對我沒有幫助。我也試着尋找其他問題,但找不到類似於我的問題的東西。這是我試過什麼(失敗):
subprocess.call = (["cut", "-f1-4", temp1.name, "|", "uniq", "--count", "|", "sort". "-rn"], stdout = open(temp2.name, 'w'))
我也試圖與sp.Popen代sp.call,但未能成功。任何人都可以請幫助一些清晰的例子和解釋? 謝謝!
'subprocess.call =(...' - 你剛剛更換的庫函數用爲什麼你期望這個工作?你需要調用函數... – poke
對不起,我不確定你的意思。你能解釋一下嗎?我已經通過調用項目成功地使用了subprocess.call在列表中,如subprocess.call([「程序」,輸入文件,輸出文件]) – jonoave