Python

Python 結果程式碼 0

  • July 23, 2019

嗨,我有這個問題,我在我的 python 腳本中執行一個 shell 命令,問題是我得到了兩個結果而不是 1。第一個是我要儲存的 id,第二個是 0,我猜它是結果程式碼。

這是我的程式碼

import os
cmd = "/path/to/ctl so list | tail -1 | awk '{print $1}'" 
event_id = os.system(cmd) 
print(event_id) 

這是結果:

225
0

我怎樣才能刪除那個0。

謝謝

您的猜測是正確的,即0您的 shell 命令的返回碼。os.system(cmd)正在執行您的命令並輸出結果,然後將返回程式碼儲存event_id並列印出來。

您應該改用該subprocess模組。

import subprocess
cmd = "/path/to/ctl so list | tail -1 | awk '{print $1}'" 
event_id = subprocess.check_output(cmd, shell=True).rstrip()
print(event_id)

引用自:https://unix.stackexchange.com/questions/531706