안녕하세요, 저는 이런 문제가 있습니다. 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)