청크로 표준 입력 청크에서 EOF까지 읽고 싶습니다. 예를 들어, 매우 큰 파일을 가질 수 있으며 EOF가 발생할 때까지 STDIN에서 한 번에 1024 바이트를 읽고 처리하려고합니다. 한 번에 모든 것을 메모리에 저장하는 sys.stdin.read()를 보았습니다. 전체 파일을 저장할 충분한 공간이 없기 때문에 가능하지 않습니다. 또한 "line in sys.stdin"도 있지만, 이는 내가 찾고있는 것이 아닌, 줄 바꿈만으로 입력을 구분합니다. 파이썬에서 이것을 수행 할 수있는 방법이 있습니까?Python : EOF까지 바이트 덩어리로 stdin을 읽는 방법?
1
A
답변
1
파일 개체의 메서드는 size
매개 변수 (선택 사항)를 허용합니다.
size
을 지정하면 최대 크기 바이트를 읽고 반환합니다. 파일의 끝에 도달하면, f.read()는 빈 문자열 ('')을 반환합니다.
io docs 및 open() docs을 참조하십시오.
의사 코드 :
with open('file') as f:
while True:
buffer = f.read(1024) # Returns *at most* 1024 bytes, maybe less
if buffer = '':
break
process_data(buffer)
0
당신은 n
은 인수로 읽을 수있는 바이트의 정수이다 f.read(n)
을 사용하여 청크 표준 입력 (또는 파일)을 읽을 수 있습니다. 파일에 아무것도 남아 있지 않으면 빈 문자열을 반환합니다.
관련 문제
- 1. dpkt.pcap.Reader를 사용하여 stdin을 읽는 방법?
- 2. 표준 입력을 C에서 EOF까지 문자열 변수로 읽는 방법?
- 3. C++의 cin에서 EOF까지 읽는 방법
- 4. 특정 문자 또는 EOF까지 파일을 읽는 방법?
- 5. stdin을 비동기 적으로 읽는 방법?
- 6. yii 명령에서 stdin을 읽는 방법
- 7. C 바이트 덩어리로 파일 읽기
- 8. ANSI C - stdin을 단어 단위로 읽는 방법?
- 9. bash에서 파일 * 및 * stdin을 읽는 방법
- 10. phpdbg로 단계별 실행 중에 STDIN을 읽는 방법
- 11. stdin을 읽는 R 스크립트의 소스를 얻는 방법
- 12. 물고기 쉘로 stdin을 읽는 법
- 13. Ruby 스캔/EOF까지 가져 오기
- 14. C# - 바이트 덩어리로 Google 드라이브에서 다운로드
- 15. clojure : 파일에서 덩어리로 데이터를 읽는 법
- 16. ASCIIZ 바이트 문자열을 읽는 방법
- 17. 바이트 배열을 FileStream으로 읽는 방법
- 18. 파일에서 바이트 단위로 읽는 방법
- 19. C에서 stdin을 올바르게 읽는 방법은 무엇입니까?
- 20. Windows의 gstreamer에서 stdin을 읽는 방법은 무엇입니까?
- 21. 파이썬 : 효율적으로 바이트 청크를 하나의 큰 덩어리로 결합 하시겠습니까?
- 22. ImageMagick에서 stdin을 캡션으로 사용하는 방법
- 23. stdin을 String으로 대체하는 방법
- 24. stdin을 파일에 복제하는 방법
- 25. 바이트 배열의 서버 파일에서 데이터를 읽는 방법
- 26. 파일에 특정 바이트 수를 쓰거나 읽는 방법
- 27. Eclipse에서만 Java 바이트 코드를 읽는 방법?
- 28. 바이너리 파일을 바이트 배열로 읽는 방법?
- 29. Go에서 N 바이트 이상 읽는 방법
- 30. 바이트 배열로 파일을 읽는 가장 빠른 방법
아, 내 바보가 그것을 놓치지 마라. 고맙습니다! –