如何隱藏/刪除輸出0
以及Python中的os.system
命令在您調用它時生成的新行?如何在Python中調用`os.system`時隱藏或刪除0?
例如:
import os
os.system('whoami')
輸出:
userX
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