一、引言
在計算機領域中,我們經常需要通過命令行工具來完成一些任務。而在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-tw/n/192899.html