一、背景介紹
在程序開發的過程中,有時我們需要調用系統的命令行界面(CMD)執行一些操作,例如創建文件夾、複製、刪除文件等等。而 Python 通過內置的 os 模塊提供了調用 CMD 相關操作的介面,方便我們在程序中執行諸如 CMD 命令之類的操作。
二、調用 CMD 命令
os 模塊中提供了調用 CMD 命令的方法:os.system()。
import os os.system('cmd command')
其中,’cmd command’ 表示需要執行的 CMD 命令,例如:
import os os.system('mkdir new_folder')
上述代碼會在當前運行的目錄創建一個名為 new_folder 的文件夾。
需要注意的是,os.system() 會立即執行命令並返回執行的結果,前提是該命令能夠在 CMD 中正確執行。如果該命令出錯,os.system() 會返回非 0 值。
三、調用 CMD 命令並獲取結果
有時候,我們需要獲取 CMD 命令執行的結果,並對結果進行處理。此時,我們可以使用 subprocess 模塊,它提供了更多的方法和控制。
subprocess 模塊中最常用的方法是 Popen()。它可以執行 CMD 命令,並獲取命令的執行結果。以下是一個簡單的實例:
import subprocess result = subprocess.Popen('dir', stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE) out, err = result.communicate() print(out.decode('gbk'))
上述代碼中,我們調用了 dir 命令,並以管道的方式獲取了命令的輸出。Popen() 的參數 stdout、stdin、stderr 分別對應的是標準輸出、標準輸入和標準錯誤。通過 communicate() 方法可以獲取命令執行後的輸出和錯誤信息。
四、結論
Python 提供了豐富的命令行介面,可以方便地在程序中執行命令行操作。我們可以使用 os 模塊中的 system() 方法快速執行命令,也可以使用 subprocess 模塊中的 Popen() 方法獲取更多的輸出和控制。
在使用 CMD 命令時,我們需要謹慎思考,盡量避免直接執行攻擊性的命令或整合輸入處理漏洞,以免造成系統安全性問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159995.html