0

我正在使用 python 2.6 版运行 Debian 6 挤压。我有两个这样的子流程代码:

rsync_out = subprocess.Popen(['sshpass', '-p', password, 'rsync', '--recursive', source], 
                     stdout=subprocess.PIPE)
command = subprocess.check_call(('grep', '\.'), stdin=rsync_out.stdout)

它完全按照我想要的方式工作,但没有可用于 python 2.6 的 check_call。如何调用第二个命令subprocess.Popen

像这样尝试但没有用:

command = subprocess.Popen(['grep', '\.'], stdin=rsync_out.stdout).communicate()[0]

我收到此错误:

'NoneType' object has no attribute 'split'
4

1 回答 1

0

我想您正在尝试获取第二个命令的返回码?尝试这个:

rsync_out = subprocess.Popen(['sshpass', '-p', password, 'rsync', '--recursive', source],
                 stdout=subprocess.PIPE)
command = subprocess.Popen(['grep', '\.'], stdin=rsync_out.stdout)
command.communicate()
returnCode = command.returncode
于 2013-06-18T08:30:35.890 回答