一、引言
在計算機領域中,我們經常需要通過命令行工具來完成一些任務。而在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
微信掃一掃
支付寶掃一掃