我在Python 3.5中試驗subprocess.run。要鏈接兩個命令在一起,我本來以爲下面應該工作:Python子進程:鏈接命令與子進程.run
import subprocess
ps1 = subprocess.run(['ls'], universal_newlines=True, stdout=subprocess.PIPE)
ps2 = subprocess.run(['cowsay'], stdin=ps1.stdout)
然而,這種失敗:
AttributeError: 'str' object has no attribute 'fileno'
ps2
期待一個類似文件的對象,但ps1
輸出是一個簡單的字符串。
有沒有辦法將命令與subprocess.run
一起鏈接?
感謝。我意識到了Popen語法,但是專門研究如何在Python 3.5+中通過'subprocess.run'鏈接命令。將'input'參數鏈接到'subprocess.run'確實是可能的。 –
@ChrisClark:你明白這個區別:'ls | cowsay'和'output = $(ls); cowsay <<<「$ output」'? – jfs