📜  如何使用 python 向 cmd 发送命令(1)

📅  最后修改于: 2023-12-03 14:52:01.372000             🧑  作者: Mango

如何使用 Python 向 CMD 发送命令

CMD 是 Windows 操作系统中的命令行界面,我们可以通过 Python 的 subprocess 模块来向 CMD 发送命令。本文将介绍如何使用 Python 向 CMD 发送命令的方法。

1. 使用 subprocess 模块发送命令

subprocess 模块是 Python 内置的子进程管理模块,可以用来创建新的进程、连接到它们的输入/输出/错误管道,并获取它们的返回值。

我们可以使用 subprocess 模块的 Popen 和 communicate 方法来向 CMD 发送命令并获取命令输出。

示例代码如下:

import subprocess

# 执行 ipconfig 命令
p = subprocess.Popen('ipconfig', stdout=subprocess.PIPE, shell=True)
output, err = p.communicate()

# 输出命令结果
print(output.decode('gbk'))

在上面的示例中,我们使用 Popen 来执行 ipconfig 命令,并将标准输出流与管道连接起来。最后使用 communicate 方法获取命令输出,并将结果打印出来。

需要注意的是,Windows 中默认使用的字符编码为 gbk,因此需要使用 output.decode('gbk') 将返回的结果解码成字符串。

2. 使用 os 模块发送命令

除了使用 subprocess 模块,我们还可以使用 Python 内置的 os 模块来向 CMD 发送命令。

需要使用 os 模块的 popen 方法来执行命令,并使用 read 方法来获取命令输出。

示例代码如下:

import os

# 执行 ipconfig 命令
result = os.popen('ipconfig').read()

# 输出命令结果
print(result)

在上面的示例中,我们使用 os 模块的 popen 方法来执行 ipconfig 命令,并使用 read 方法获取命令输出。最后将命令输出打印出来。

需要注意的是,os 模块的 popen 方法在执行命令时会创建一个新的 CMD 窗口,并运行命令。一些命令可能需要在 CMD 窗口中手动确认,因此不能完全自动化执行。

结语

本文介绍了使用 Python 向 CMD 发送命令的两种方法:使用 subprocess 模块和使用 os 模块。需要根据具体需求选择不同的方法来实现。