subprocess.Popen(args)
时间: 2023-12-09 21:34:56 浏览: 169
subprocess.Popen(args)是一个用于创建新进程的函数,它接受一个参数args,args可以是一个字符串或者一个序列。如果args是一个字符串,那么它会被解释为一个shell命令。如果args是一个序列,那么它会被解释为一个可执行文件及其参数的列表。Popen对象可以用来与新进程进行交互,例如向新进程发送输入,从新进程读取输出等等。下面是一个使用subprocess.Popen(args)的例子:
import subprocess
# 执行一个shell命令
p = subprocess.Popen('ls -l', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print(out.decode('utf-8'))
# 执行一个可执行文件
p = subprocess.Popen(['python', 'test.py'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print(out.decode('utf-8'))
上面的代码中,第一个例子使用Popen执行了一个shell命令'ls -l',并将输出通过stdout=subprocess.PIPE参数传递给了Popen对象。Popen对象的communicate()方法可以用来等待新进程结束,并返回新进程的输出和错误信息。第二个例子使用Popen执行了一个名为test.py的Python脚本,并将输出通过stdout=subprocess.PIPE参数传递给了Popen对象。最后,使用Popen对象的communicate()方法获取了新进程的输出和错误信息,并将输出打印到了控制台上。
阅读全文
相关推荐

















