我不确定返回值是什么subprocess.call()意思.
我可以安全地假设零值将始终意味着命令执行成功吗?
返回值是否等同于shell命令的退出状态?
例如,以下几段代码是否适用于Linux上几乎任何命令?
cmd = "foo.txt > bar.txt"
ret = subprocess.call(cmd, shell=True)
if ret != 0:
if ret < 0:
print "Killed by signal", -ret
else:
print "Command failed with return code", ret
else:
print "SUCCESS!!"
Run Code Online (Sandbox Code Playgroud)
请赐教:-)
您受到所调用命令的支配.考虑一下:
test.py
#!/usr/bin/env python
success=False
if not success:
exit()
Run Code Online (Sandbox Code Playgroud)
然后运行你的代码(使用cmd ='test.py')将导致成功!
仅仅因为test.py不符合在不成功时返回非零值的惯例.
| 归档时间: |
|
| 查看次数: |
60790 次 |
| 最近记录: |