파이썬에서 os.system 사용할때 0 값이 왜 들어갈까요?

익명 사용자의 이미지

d=os.system("date | awk '{print $1\" \"$2\" \"$3}'")
print d
-----------
Thu Dec 8
0

이렇게 0 값이 아래에 뜨네요?
d=os.popen 으로 하여 read() 해도 아래 공백으로 뜨구요

결과값이 딱 아래처럼 한줄로 왜 안뜨는지 궁금합니다.
Thu Dec 8

익명 사용자의 이미지

이응준의 이미지

os.system 은 exit status 를 반환하므로, 실행한 쉘 명령의 exit status인 0이 변수 d 에 들어갑니다.

그 상태에서 d를 출력하셨기 때문에 결국 0이 출력됩니다.

그리고 Thu Dec 8 은 print d 를 실행하기 전에 os.system 에 의해 출력된 문자열입니다.