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属性可以帮助我们执行系统命令并获取命令的标准输出。
