Python x的返回值=操作系统(..)
当我在Python中键入Python x的返回值=操作系统(..),python,linux,os.system,Python,Linux,Os.system,当我在Python中键入os.system(“whoami”)作为root时,它返回root,但当我尝试将其分配给变量x=os.system(“whoami”)时,它将x的值设置为0。为什么?(:返回(编码的)进程退出值。0表示成功: 在Unix上,返回值是按照为wait()指定的格式编码的进程的退出状态。请注意,POSIX没有指定C system()函数返回值的含义,因此Python函数的返回值取决于系统 您看到的输出被写入stdout,因此您的控制台或终端不会返回Python调用程序 如果要
os.system(“whoami”)
作为root时,它返回root
,但当我尝试将其分配给变量x=os.system(“whoami”)
时,它将x的值设置为0。为什么?(:返回(编码的)进程退出值。0
表示成功:
在Unix上,返回值是按照为wait()
指定的格式编码的进程的退出状态。请注意,POSIX没有指定C system()函数返回值的含义,因此Python函数的返回值取决于系统
您看到的输出被写入stdout,因此您的控制台或终端不会返回Python调用程序
如果要捕获标准输出,请改用:
os.system('command')
返回一个16位数字,左起的前8位(lsb)表示操作系统用于关闭命令的信号,下8位表示命令的返回代码
在
中参考我的答案,我尝试了几种使用子过程的方法,但我总是得到<代码> [ErrNO 9 ]坏文件描述符< /C>……怎么了?- @ @ FabiOMaGaRLLI,这是不可能说的,没有A。这可能不是我能在评论中帮助的问题,如果你有一个好的可重复的情况,考虑发表一个问题。x = subprocess.check_output(['whoami'])