0
我將bash代碼轉換爲python。如何知道錯誤是什麼時使用subprocess.run()在python與異常?
我通過python中的subprocess.run()使用bash的mkdir。
在以下示例中,subprocess.run()引發異常。
但是我無法檢查錯誤是什麼,因爲我無法通過 獲取由subprocess.run()返回的結果對象。
有什麼聰明的方法知道錯誤是什麼? 或者我不應該在這裏使用'嘗試例外'?
import sys
import subprocess
directory = '/tmp/test_dir'
options = ''
try:
result=subprocess.run(['mkdir', options, directory], check=True)
except subprocess.CalledProcessError as ex:
print("In this example, subprocess.run() above raise an exception CalledProcessError.")
# print("I would like to check result.returncode = {0}. But it failed because object 'result' is not defined.".format(result.returncode))
except Exception as ex:
sys.stderr.write("This must not happen.")
sys.exit(1)
非常感謝。
只打印你抓住了'打印(前)在實際例外' – salparadise
爲什麼不使用Python的'os.makedir'而不是創建一個子進程:)的? – tkhurana96
@salparadise:謝謝你告訴我解決方案。這是我想要的。 – mora