当我输入os.system("whoami")Python时,它以root身份返回root,但当我尝试将其分配给变量时,x = os.system("whoami")它将x的值设置为0.为什么?(:
考虑一个python脚本error.py
import sys
sys.exit(3)
Run Code Online (Sandbox Code Playgroud)
调用
python error.py; echo $?
Run Code Online (Sandbox Code Playgroud)
产生预期的"3".但是,请考虑runner.py
import os
result = os.system("python error.py")
print result
Run Code Online (Sandbox Code Playgroud)
收益768.似乎某种程度上python代码的结果已经被8个移位,但这两种情况如何不同并不清楚.这是怎么回事?
这发生在python 2.5和2.6中.