1. 程式人生 > 實用技巧 >使用subprocess.run呼叫外部程式

使用subprocess.run呼叫外部程式

今天查詢圖紙的優化方法,在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 管道,並獲取它們的返回(狀態)碼