在Python中调用`os.system`时如何隐藏或删除0?

时间:2016-05-14 08:34:33

标签: python bash python-3.x

如何隐藏/消除输出0以及Python中os.system命令产生的新行?

例如:

import os
os.system('whoami')

输出:

userX
0

3 个答案:

答案 0 :(得分:6)

这个怎么样?

line()

答案 1 :(得分:2)

假设使用python控制台

Bean

>>> import os >>> os.system('whoami') userX 0 实际上是0的返回值,仅显示在控制台上。使用脚本,您将无法获得此输出。因此,如果您以某种方式分配值,它在技术上将被隐藏

os.system('whoami')

答案 2 :(得分:1)

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

在Unix上,返回值是以wait()指定的格式编码的进程的退出状态。请注意,POSIX未指定C system()函数的返回值的含义,因此Python函数的返回值取决于系统。 您看到的输出将写入stdout,因此您的控制台或终端将被写入,而不会返回给Python调用者。

如果要捕获stdout,请改用subprocess.check_output():

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