gpt4 book ai didi

python - Popen.returncode 在 Python 中不起作用?

转载 作者:太空狗 更新时间:2023-10-29 21:27:01 28 4
gpt4 key购买 nike

我有一段代码可以将文件从服务器传输到本地机器。然而,用户输入的目录可能并不总是正确的。如果用户输入了错误的目录,我会尝试显示错误。如果 returncode 不是 None 我将显示错误。但这不起作用。无论程序抛出什么,它总是转到 else 部分。

#!/usr/bin/python

import subprocess



result = subprocess.Popen(['sshpass', '-p', 'password', 'rsync', '-avz', '--info=progress2', 'username@host_name:/file_name', '/home/zurelsoft/test'],
stdout=subprocess.PIPE)

if result.returncode != None:
print "Directory Incorrect"

else:
print "Done"
print result

最佳答案

subprocess.Popen 返回一个对象(在您的情况下为结果变量)。您需要调用此对象的pollwait 方法来设置returncode 状态。然后你可以查看result.returncode

参见 http://docs.python.org/2/library/subprocess.html#subprocess.Popen.returncode

The child return code, set by poll() and wait() (and indirectly by communicate()). A None value indicates that the process hasn’t terminated yet.

关于python - Popen.returncode 在 Python 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14018107/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com