Python結果コード0

Python結果コード0

こんにちは、私はこの問題があります。 Pythonスクリプトでシェルコマンドを実行していますが、問題は1ではなく2つの結果を得ることです。 1つ目は保存するID、2つ目は結果コードである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をどのように削除できますか?

ありがとう

答え1

あなたの推測は正しいです。これは0シェルコマンドの戻りコードです。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)

関連情報