如何在Python中调用`os.system`时隐藏或删除0?
如何隐藏/删除输出0
以及Python中的os.system
命令在您调用它时生成的新行?如何在Python中调用`os.system`时隐藏或删除0?
例如:
import os
os.system('whoami')
输出:
userX
0
这个怎么样?
from subprocess import check_output
user_name = check_output('whoami').strip()
print user_name
#out: userX
这是我正在寻找,非常感谢 – shaveax
使用蟒蛇控制台
>>> import os
>>> os.system('whoami')
userX
0
这0
实际上是os.system('whoami')
的返回值,只显示在Asuming控制台。用脚本你不会有这个输出。因此,如果你以某种方式分配的值,它会在技术上被隐藏
>>> import os
>>> ret = os.system('whoami')
userX
即将写完全一样的东西:-)我想不出不同的解决方案。 – quapka
os.system()
返回(编码的)过程出口值。 0表示成功:
在Unix上,返回值是以wait()指定格式编码的进程的退出状态。请注意,POSIX没有指定C系统()函数返回值的含义,所以Python函数的返回值是依赖于系统的。 你看到的输出被写入标准输出,所以你的控制台或终端,而不是返回给Python调用者。
如果你想捕捉到标准输出,使用subprocess.check_output()代替:
x = subprocess.check_output(['whoami'])
我不认为你应该看到'0',除非你做类似'打印(使用os.system(” WHOAMI“))'。 Python不会自动打印函数的返回值。 – Barmar