Python 결과 코드 0

Python 결과 코드 0

안녕하세요, 저는 이런 문제가 있습니다. Python 스크립트에서 쉘 명령을 실행하고 있는데 문제는 1이 아닌 2개의 결과를 얻는다는 것입니다. 첫 번째는 저장하려는 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을 어떻게 제거할 수 있나요?

감사해요

답변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)

관련 정보