繁体   English   中英

Popen.returncode无法在Python中运行?

[英]Popen.returncode not working in Python?

我有一个代码的价格,将文件从服务器传输到本地机器。 但是,用户输入的目录可能并不总是正确的。 如果用户输入错误的目录,我试图显示错误。 如果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方法来设置返回码状态。 然后你可以检查result.returncode

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

子返回码,由poll()和wait()设置(间接由communic()设置)。 “无”值表示该进程尚未终止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM