我正在嘗試.sh從 python 腳本運(yùn)行文件。但是,該.sh文件中包含一個(gè)需要輸入的函數(shù)。因此,如果我.sh要從終端運(yùn)行文件,它將如下所示:./test.sh 1 2我可以看到,在 python 中,subprocess.call(['./test.sh'])它不起作用,因?yàn)闆](méi)有爭(zhēng)論的余地。我可以使用任何其他子流程分支嗎?
3 回答

森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
參數(shù)是列表中的附加元素。
subprocess.run(['./test.sh', '1', '2'])
您還應(yīng)該使用subprocess.run()
而不是subprocess.call()
,這是一種過(guò)時(shí)的方法。

慕碼人2483693
TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
你可以這樣做??纯催@里的文檔:Python2: https ://docs.python.org/2/library/subprocess.html
Python3.8: https ://docs.python.org/3.8/library/subprocess.html
例子:
subprocess.call(["ls", "-l"])

holdtom
TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
您也可以使用以下功能:
try:
ressys = subprocess.check_call('script.sh', shell=True)
except subprocess.CalledProcessError, e:
res = str(e.output) + " -- Code: " + str(e.returncode)
print res
添加回答
舉報(bào)
0/150
提交
取消