返回值x = os.system(..)

当我在Python中键入os.system("whoami")时,它以root身份返回root ,但是当我尝试将它赋值给variablesx = os.system("whoami")它将x的值设置为0。为什么? (:

Solutions Collecting From Web of "返回值x = os.system(..)"

os.system()返回(编码的)过程出口值。 0表示成功:

在Unix上,返回值是以wait()指定的格式编码的进程的退出状态。 注意,POSIX没有指定C系统()函数返回值的含义,所以Python函数的返回值是依赖于系统的。

你看到的输出被写入stdout ,所以你的控制台或终端,而不是返回给Python调用者。

如果你想捕获stdout ,使用subprocess.check_output()来代替:

 x = subprocess.check_output(['whoami']) 

os.system('command')返回一个16位的数字,从左边的前8位(lsb)讲os用来关闭指令的信号,接下来的8位指的是指令的返回码。

Python中os.system()的返回值是什么?