今天查找圖紙的優化方法,在github上看到一個開源的代碼,在python中使用subprocess.run調用外部程序
demo.py
import subprocess COMMAND = "echo" PARAMS = r"hello,world" # Command to run cmd = [COMMAND, PARAMS] # Run subprocess.run(cmd, shell=True)
執行demo.py,輸出
hello,world
說明:
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, universal_newlines=False)
args:要執行的shell命令,默認應該是一個字符串序列
shell:如果shell為True,那么指定的命令將通過shell執行
check:如果check參數的值是True,且執行命令的進程以非0狀態碼退出,則會拋出一個CalledProcessError的異常,且該異常對象會包含 參數、退出狀態碼、以及stdout和stderr
stdout,stdin和stderr:可以和標准流交互
subprocess模塊可以生成新的進程,連接到它們的 input/output/error 管道,並獲取它們的返回(狀態)碼