您的位置:

用Python执行CMD命令

一、引言

在计算机领域中,我们经常需要通过命令行工具来完成一些任务。而在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程序中完成很多命令行操作。希望这些内容对你有所帮助。