Python’在子进程返回码中返回’not语句
我在
Python中遇到了一段非常奇怪的代码:
.... self.myReturnCode = externalProcessPopen.returncode .... .... return not self.myReturnCode .... 什么回归不代表什么?我知道Popen进程的返回码在它仍在运行时为None,一旦完成并成功退出,则为随机数.但是代码的作者究竟想要在这里实现什么呢? 也许值得注意的是,同一作者稍后会检查返回代码,如下所示: if not testClass.testFunction(): logger.error('Failed to execute Function') .... 解决方法
不是
boolean operator返回值的布尔反转. return返回该运算符的结果.换句话说,表达式应该被读作return(而不是self.myReturnCode).引用文档:
如果self.myReturnCode是一个真值,则不是self.myReturnCode为False,反之亦然.请注意,self.myReturnCode可以是任何Python值,但并不总是返回一个布尔值,无论是True还是False. 如果externalProcessPopen.returncode是外部进程的返回代码,那么如果进程退出并出现错误,则它将是正整数,如果退出成功,则为0.这被称为process exit status;返回的非零值完全取决于进程.不是0然后是True,而不是1(或更高的整数值)给你False. 如果为None,则返回True(非None为True),但如果进程尚未退出,则subprocess.Popen()返回代码仅为None. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- pip升级后提示错误ImportError: cannot import name main
- python中文字符繁体和简体中文转换的简单示例
- install mysqlclient(任何一个模块) error: command '
- python – 为什么一个小的腌制嵌套字典会占用大量内存?
- python – Flask test_client无法处理HTTP 204无数据
- 浅谈django开发者模式中的autoreload是如何实现的
- python – 由时间窗口组成的熊猫组
- Python3的编码总结
- python – 错误 – __init __()需要2个参数(给定1个)
- 分享一个简单的python读写文件脚本