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()函数从命令行输出中获取标准输出的内容。你可以根据需要修改命令和处理输出的方式。
