Python执行CMD命令获取返回值

Python执行CMD命令获取返回值

Python执行CMD命令获取返回值

1. 引言

在Python开发中,有时我们需要执行一些操作系统的命令,并获取其返回值,以便进行下一步的处理。本文将详细介绍如何使用Python来执行CMD命令,并获取其返回值。

2. 使用os模块执行CMD命令

Python标准库中的os模块提供了执行操作系统命令的功能。我们可以使用os.system(command)函数来执行CMD命令,并返回命令的执行状态码。

下面是一个简单的示例代码,演示如何使用os模块执行CMD命令,并打印出其返回值:

import os

# 执行CMD命令
command = 'dir'
status = os.system(command)

# 打印返回值
print(f"命令'{command}'的返回值为: {status}")
Python

运行以上代码,将会执行dir命令(列出当前目录下的文件和文件夹),并打印出返回值。返回值为0表示命令执行成功,非0值表示命令执行失败。

3. 使用subprocess模块执行CMD命令

另一种常用的执行CMD命令的方式是使用subprocess模块。相比于os.system()函数,subprocess模块提供了更多的功能和灵活性。

下面是一个使用subprocess.run()方法执行CMD命令的示例代码:

import subprocess

# 执行CMD命令
command = 'dir'
result = subprocess.run(command, capture_output=True, text=True)

# 打印返回值
print(f"命令'{command}'的返回值为: {result.returncode}")
print(f"命令'{command}'的输出信息为: {result.stdout}")
Python

在以上代码中,我们使用subprocess.run(command, capture_output=True, text=True)方法执行CMD命令,并传入了capture_output=True参数来捕获命令的输出,以及text=True参数来指定输出为文本格式。

subprocess.run()方法的返回值是一个CompletedProcess对象,我们可以通过其returncode属性来获取命令的返回值,通过stdout属性来获取命令的输出信息。

4. 高级用法:使用Popen类执行CMD命令

如果我们需要更高级的功能,比如实时获取命令的输出信息,或者与命令的输入和输出进行交互,那么可以使用subprocess.Popen类来执行CMD命令。

下面是一个使用subprocess.Popen类执行CMD命令并实时获取输出信息的示例代码:

import subprocess

# 执行CMD命令
command = 'dir'
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)

# 实时获取输出信息
for line in process.stdout:
    print(line.decode('gbk').strip())

# 等待命令执行完成
process.wait()

# 打印返回值
print(f"命令'{command}'的返回值为: {process.returncode}")
Python

在以上代码中,我们使用subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)方法执行CMD命令,并指定了stdout=subprocess.PIPE参数来捕获命令的标准输出。

通过process.stdout属性,我们可以按行获取命令的输出信息,并进行处理。在示例代码中,我们使用line.decode('gbk').strip()来解码输出信息,并去除换行符。

process.wait()方法用于等待命令执行完成,然后我们可以通过process.returncode属性来获取命令的返回值。

5. 结语

本文介绍了使用Python执行CMD命令并获取返回值的多种方法。通过os模块和subprocess模块提供的功能,我们可以轻松地执行各种操作系统命令,并获取其返回值,实现更高级的功能。

在使用Python执行CMD命令时,需要注意安全性和可靠性。请确保执行的命令来源可信,并对输入进行充分的验证和处理,以避免潜在的安全风险。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册