2017-10-22 1 views
0

에 값을 인쇄하지 것은 내가 실행하려고 샘플 코드입니다. 문제는 다음과 같이 실행하려고하면 출력을 플러시하더라도 print 및 stdout에서 파이프에 쓰는 것이 작동하지 않습니다. sys.stderr.write()의 주석을 제거 할 때만 작동합니다.파이썬은 여기에 루프

python test.py | tail -n 1

친절 인쇄 문 루프에있는 경우에만 발생하십시오. 아무도 내가 왜 이런 식으로 행동하는지 이해할 수있게 도와 줄 수 있습니까?

감사

+0

놀라워하는 것을 보여주는 실행 가능한 코드를 제공하는 대신 왜 문제를 설명해야합니까? – roganjosh

답변

4

당신은 끝없는 출력을 생산하고 있으며 tail -n 1가 도착하지 표준 입력에서 입력의 마지막 라인을 기다리고 있습니다.

+0

@Iguananaut에게 도움을 주셔서 감사합니다. 내가 지나치게 생각하고있는 것 같아. 그러나 후속 조치로서 마지막 줄 이외에는 표준 오류에 기록됩니다. 내 기본 질문에 답을 얻은 것처럼 귀하의 답변을 수락했습니다. –

+0

나는 잘 모르겠다. 그건 까다로울뿐 아니라 한 줄짜리 라이너로는 할 수 없을 수도있다. 비록 당신이 별도의 질문으로 그것을 묻는다면 나는 거기에 bash wizard가 있다고 대답 할 수 있습니다. – Iguananaut