실제로 file.write()와 file.flush()의 차이점은 무엇입니까? Python's official documentation에서파이썬 : file.write() 대 file.flush()
, 나는이 얻을 :
플러시()를 강제 원시 스트림의 버퍼에서 개최 바이트. A 원시 스트림이 차단되면 BlockingIOError가 발생해야합니다.
write (b) 바이트 형 오브젝트 b를 쓰고 쓰여진 바이트 수를 리턴하십시오. 비 블로킹 모드에서 BufferIOError가 발생하면 버퍼가 쓰여 지지만 원시 스트림은 차단됩니다.
내 초보자를 가장 잘 이해하기 위해 현재 메모리에 저장된 정보를 디스크의 파일로 전송합니다. 그러나 write()는 정보가 저장된 양에 대한 정보도 반환하고 flush()는 즉시이 작업을 수행합니다. 그 맞습니까? 그러면 어떤 상황에서 flush()를 통해 write()를 적용하는 것이 더 좋을까요?
그러나'flush'는 인자를 취하지 않습니다. 그것들은 전혀 같지 않습니다. 복사 한 문서는'write'에 대한 인수를 표시하고'flush'에 대해서는 인수를 표시하지 않습니다. 'flush'는'write'를 사용하여 쓰여진 데이터를 강제로 미디어에 덤프합니다. –
두 기능을 모두 사용해 보셨습니까? 그들이 다른 일을한다는 것은 분명해야합니다. – mkrieger1
'write()'는 프로그램의 데이터를 버퍼링 할 수있는 IO 하위 시스템으로 보냅니다. 'flush()'는 버퍼링 된 데이터를 커밋하고자하는 IO 하위 시스템에게 알려줍니다. –