import subprocess
# 使用 subprocess.Popen 执行一个外部命令,并获取其输出
def run_command(command):
# 创建一个 Popen 对象,启动一个新的进程来执行命令
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
# 与子进程通信,获取标准输出和标准错误
output, error = process.communicate()
# 返回命令的输出和错误信息
return output.decode(), error.decode()
# 示例:运行 'ls' 命令列出当前目录下的文件
command = "ls"
output, error = run_command(command)
# 打印命令的输出和错误信息
print("Output:", output)
print("Error:", error)
subprocess.Popen: 这是 subprocess 模块中的一个类,用于启动一个新的进程并与其进行交互。它允许你执行外部命令,并通过管道与该进程的标准输入、标准输出和标准错误进行通信。
communicate(): 这个方法用于与子进程进行通信,获取子进程的标准输出和标准错误。它会阻塞父进程,直到子进程完成。
stdout 和 stderr: 分别表示标准输出和标准错误。我们通过 communicate() 方法获取它们的内容,并将其解码为字符串以便打印或进一步处理。
shell=True: 表示命令将通过系统的 shell 来执行。这对于复杂的命令(如带有管道或重定向的命令)非常有用,但对于简单的命令来说,通常可以省略这个参数以提高安全性。
decode(): 将字节流转换为字符串,以便能够正常显示在控制台中。
上一篇:python中字符串怎么比较大小
下一篇:python nltk
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站