對於一些需要在命令行執行命令的操作,我們可以使用Python來輕鬆實現。本文將介紹如何使用Python調用CMD執行命令。
一、使用os模塊執行CMD命令
Python提供了os模塊,可以方便地進行系統調用,實現調用CMD命令的操作。
先來看一個簡單的示例,調用dir命令列出當前文件夾的內容:
import os os.system('dir')
通過os.system()函數,可以將待執行的命令傳入進去,即可完成CMD命令的執行,上述代碼將會執行dir命令,輸出當前文件夾的內容。
除了使用單一命令之外,os模塊還提供了更加複雜的調用方法。例如,可以通過subprocess模塊來調用CMD命令,並獲取輸出結果:
import subprocess result = subprocess.Popen('dir', shell=True, stdout=subprocess.PIPE) output = result.communicate()[0] print(output.decode('gbk'))
使用subprocess.Popen()方法後,可以通過communicate()方法獲取到CMD的輸出結果,通過decode()方法指定輸出編碼,保證得到正確的輸出。
二、使用subprocess模塊調用CMD命令
除了os模塊,Python還提供了subprocess模塊,可以更加靈活地進行系統調用,適用於各種系統平台。
使用subprocess模塊調用CMD命令也非常簡單,還是以調用dir命令為例:
import subprocess output = subprocess.check_output('dir', shell=True) print(output.decode('gbk'))
使用subprocess.check_output()方法可以方便地調用CMD命令,並獲取到輸出結果,通過decode()方法指定輸出編碼可以避免亂碼。
subprocess模塊還提供了更加靈活的調用方式,可以通過創建子進程並返回進程對象來控制命令的執行:
import subprocess process = subprocess.Popen('dir', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, errors = process.communicate() print(output.decode('gbk'))
通過subprocess.Popen()方法創建子進程並返回進程對象,可以通過stdout和stderr參數獲取輸出結果和錯誤信息。
三、使用pywin32調用CMD命令
對於Windows系統,還可以使用pywin32模塊調用CMD命令,該模塊可以讓Python調用Windows系統的API。
使用pywin32模塊調用CMD命令需要先安裝,可以通過pip工具進行安裝:
pip install pywin32
安裝完成後,就可以使用相應的API調用CMD命令了,下面是一個簡單的示例代碼:
import win32api win32api.WinExec('cmd /c dir')
通過win32api.WinExec()方法,可以直接啟動CMD,並執行指定的命令。
總結
通過本文的介紹,我們可以看到,在Python中調用CMD命令非常簡單,可以使用os、subprocess、pywin32等模塊進行調用,根據不同的需求選擇不同的模塊即可。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/249530.html