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

Python中的cmd.stdout()函数用法讲解

发布时间:2023-12-12 14:38:57

在Python中,cmd.stdout()函数用于从命令行输出中获取标准输出的内容。该函数返回一个文本字符串,该字符串包含标准输出的所有内容。

下面是cmd.stdout()函数的用法示例:

import subprocess

def run_command(command):
    process = subprocess.Popen(
        command,
        shell=True,
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE
    )
    output, error = process.communicate()
    return output.decode('utf-8')

command = 'ls -l'
output = run_command(command)
print(output)

上面的示例代码展示了如何获取ls -l命令的标准输出。

首先,我们导入了subprocess模块,它提供了一个用于创建新进程的接口。然后,我们定义了一个名为run_command的函数,该函数接收一个命令作为参数,并返回命令的标准输出。

run_command函数中,我们使用subprocess.Popen()函数创建一个新进程。我们将command参数传递给Popen()函数,并设置shell=True以便在新的shell中执行命令。

我们通过设置stdout=subprocess.PIPE参数来捕获命令的标准输出,并将其存储在output变量中。类似地,我们也可以使用stderr=subprocess.PIPE参数来捕获标准错误输出。

接下来,我们使用process.communicate()来等待命令的完成。该函数返回一个元组,其中包含命令的输出和错误输出。我们将输出解码为UTF-8编码的字符串,然后将其返回。

最后,我们调用run_command函数,并将命令ls -l作为参数传递给它。然后,我们将命令的输出打印到控制台。

这是一个简单的例子,展示了如何使用cmd.stdout()函数从命令行输出中获取标准输出的内容。你可以根据需要修改命令和处理输出的方式。