이 질문을 여기에서 보았습니다. 그러나 주어진 답은 필자의 경우에는 작동하지 않았고 중복으로 표시되었습니다.Python fileinput 라이브러리에서 버퍼링을 피하는 방법
python -u
does not work forstdin
in Python 3.sys.stdin = sys.stdin.detach()
는ValueError: underlying buffer has been detached
발생합니다.stdin
입력 및 기타 파일이 스트림으로 사용되지 않는 경우에는 이들 중 어느 것도 작동하지 않습니다.- Adding a hook does not work:
FileInput(openhook=hook_nobuf)
and usingopen(buffering=0)
in the hook.
나는 소스 코드 (/usr/lib/python3.2/fileinput.py
)에 파고 readlines(bufsize)
가 버퍼를로드하기 위해 내부적으로 사용되는 것을 보았다. 껍질 또는 기타 배관 헛간은 없습니다.
사실, 필자는 여러분이 필요로하는 것의 위에'python -u'를 원할 수도 있다고 생각합니다. 'stdin'에서 파이썬 및/또는 stdio 버퍼링을 제거하고 싶다면 더 높은 수준의 라인 읽기 버퍼를 제거하십시오. – abarnert