一、引言
在計算機領域中,我們經常需要通過命令行工具來完成一些任務。而在Python程序中,我們也可以通過執行CMD命令來完成某些操作或獲取某些數據。本文將介紹如何在Python代碼中執行CMD命令,以及一些常用的技巧。
二、Python執行CMD命令
1. 從Python打開CMD命令窗口
import os os.system("cmd")
上述代碼將在Python程序中啟動一個CMD窗口。用戶可以在該窗口中輸入命令並執行。
2. Python執行CMD命令獲取返回值
import os ret = os.popen("ipconfig").read() print(ret)
上述代碼將執行Windows命令“ipconfig”,並將結果存儲在變量“ret”中,並通過“print()”語句輸出結果。
3. Python如何執行CMD命令
import subprocess subprocess.call("ipconfig")
上述代碼利用Python中的“subprocess”模塊來執行CMD命令“ipconfig”。
4. Python調用CMD命令的方法
除了上述的“os”模塊和“subprocess”模塊,Python還提供了一個“win32api”模塊。該模塊可以調用Windows API,從而執行CMD命令。
import win32api import win32con import win32process si = win32process.STARTUPINFO() si.dwFlags = win32con.STARTF_USESHOWWINDOW si.wShowWindow = win32con.SW_HIDE pid, handle = win32process.createProcess("C:\Windows\System32\cmd.exe", '', None, None, 0, 0, None, None, si)
上述代碼將通過“win32process.createProcess()”函數啟動一個CMD進程,並返回該進程的PID和句柄。
5. Python調用CMD並傳入命令
import subprocess subprocess.call("ping www.baidu.com", shell=True)
上述代碼將通過“subprocess”模塊執行CMD命令“ping www.baidu.com”,並將參數“shell”設置為“True”。
6. Python在CMD界面輸入命令
import win32com.client as comclt oShell = comclt.Dispatch("WScript.Shell") oShell.SendKeys("ipconfig{ENTER}")
上述代碼通過調用Windows腳本API,向Windows發送按鍵事件,模擬在CMD命令行窗口中輸入“ipconfig”命令並按下回車鍵。
7. Python執行多條CMD命令
import subprocess subprocess.call(["cd D:\\", "dir"])
上述代碼將通過“subprocess”模塊執行多條CMD命令,使用一個列表來存儲多個命令,命令之間使用空格分隔。
8. Python遠程執行CMD命令
Python程序可以通過SSH等協議在遠程計算機上執行CMD命令。下面是一個使用Paramiko庫實現遠程CMD執行的示例代碼:
import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect("192.168.1.1", username="root", password="password") stdin, stdout, stderr = ssh.exec_command("ipconfig") for line in stdout.readlines(): print(line) ssh.close()
9. Python管理員執行CMD命令
在Windows系統中,某些需要管理員權限的CMD命令需要以管理員身份運行。下面是一個使用Win32 API啟動管理員權限CMD進程的Python代碼:
import win32com.shell.shell as shell shell.ShellExecuteEx(lpVerb='runas', lpFile='cmd.exe')
上述代碼將調用“win32com.shell.shell”模塊的“ShellExecuteEx()”函數以管理員權限啟動CMD進程。
10. Python執行CMD命令並解析結果
有時候我們需要對CMD命令的輸出結果進行解析,從而得到我們需要的信息。下面是一個使用Python解析CMD命令輸出結果的示例代碼:
import os ret = os.popen("ipconfig").read() if "IPv4" in ret: print("IPv4地址:") i = ret.index("IPv4") j = ret.index(":", i) k = ret.index("\n", j) print(ret[j+2:k]) else: print("無法獲取IPv4地址")
上述代碼將執行“ipconfig”命令,並從輸出結果中查找IPv4地址。如果找到了IPv4地址,則將該地址打印到控制台上。
三、總結
本文介紹了Python程序如何執行CMD命令的多種方法。使用這些方法,我們可以輕鬆地在Python程序中完成很多命令行操作。希望這些內容對你有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192899.html