温馨提示×

python popen如何实现命令行输入

小樊
169
2024-06-15 16:17:28
栏目: 编程语言

在Python中,subprocess.Popen 可以实现执行命令行输入。通过创建 Popen 对象并传入需要执行的命令以及 stdin=subprocess.PIPE 参数,可以实现对命令行的输入。以下是一个示例代码:

import subprocess

# 执行命令行输入
command = 'grep hello'
proc = subprocess.Popen(command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 输入数据到命令行
input_data = "hello world\n"
proc.stdin.write(input_data.encode())
proc.stdin.close()

# 读取命令行输出
output = proc.stdout.read().decode()
print(output)

在上面的示例中,使用 subprocess.Popen 执行了 grep hello 命令,然后通过 proc.stdin.write 输入了 “hello world\n” 数据,并通过 proc.stdout.read() 读取了命令行的输出。最后打印输出结果。

0