【发布时间】:2019-05-20 00:18:15
【问题描述】:
我想在 subprocess.Popen 中使用包含多个管道的命令。这是我的简短脚本
#!/usr/bin/env python
import subprocess
import datetime
import shlex
todayyearnumber = str(datetime.datetime.now().strftime('%Y'))
command = 'git log --grep "' + todayyearnumber + '.*commit" --oneline'
command2 = 'cut -d " " -f4'
argsplit=shlex.split(command)
argsplit2=shlex.split(command2)
process1=subprocess.Popen(argsplit, cwd=ebb_path, stdout=subprocess.PIPE)
process2=subprocess.Popen(argsplit2, stdin=process1.PIPE, stdout=subprocess.PIPE)
print(process2.stdout.read().decode('utf-8'))
但是,我收到一个错误
Traceback(最近一次调用最后一次): 文件“./proces.py”,第 35 行,在 process2=subprocess.Popen(argsplit2,stdin=process1.PIPE,stdout=subprocess.PIPE) AttributeError:“Popen”对象没有属性“PIPE”
你能帮我解决我的错误吗?
【问题讨论】:
标签: python-3.x unix process