欢迎访问宙启技术站
智能推送

Python编程入门:如何使用cmd.stdout()函数输出控制台信息

发布时间:2023-12-12 14:37:53

在Python中,我们可以使用subprocess模块来执行系统命令并获取命令的标准输出。其中,subprocess.run()函数可以帮助我们执行命令,并返回一个CompletedProcess对象。这个对象包含了命令的执行结果,包括标准输出、标准错误以及返回码。

要获取命令的标准输出,我们可以使用subprocess.PIPE参数来将其保存在CompletedProcess对象的stdout属性中。然后,我们可以使用stdout属性的decode()方法来将字节流转换为字符串,并打印出来。

下面是一个简单的例子,展示了如何使用subprocess.run()函数以及stdout属性来输出命令的标准输出:

import subprocess

# 执行系统命令,并获取标准输出
completed_process = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)

# 将标准输出转换为字符串,并打印出来
output = completed_process.stdout.decode()
print(output)

在上面的例子中,我们执行了ls -l命令,并将其标准输出保存在completed_process对象的stdout属性中。然后,我们将stdout属性转换为字符串,并打印出来。

注意,在Windows系统中,ls命令对应的是dir命令。因此,在Windows系统中,我们可以将上面的例子修改为:

import subprocess

# 执行系统命令,并获取标准输出
completed_process = subprocess.run(['dir'], stdout=subprocess.PIPE, shell=True)

# 将标准输出转换为字符串,并打印出来
output = completed_process.stdout.decode()
print(output)

在上面的例子中,我们执行了dir命令,并将其标准输出保存在completed_process对象的stdout属性中。然后,我们将stdout属性转换为字符串,并打印出来。

需要注意的是,为了在Windows系统中正确执行命令,我们需要将shell参数设置为True

总结一下,使用subprocess.run()函数以及stdout属性可以帮助我们执行系统命令并获取命令的标准输出。