Tôi đang cố gắng đọc một số lượng lớn các dòng từ đầu vào chuẩn với python.Python: Đọc số lượng lớn các dòng từ stdin
more hugefile.txt | python readstdin.py
Vấn đề là chương trình bị treo ngay khi tôi đọc chỉ một dòng.
print sys.stdin.read(8)
exit(1)
Điều này in 8 byte đầu tiên nhưng sau đó tôi hy vọng nó chấm dứt nhưng không bao giờ. Tôi nghĩ rằng nó không thực sự chỉ đọc các byte đầu tiên nhưng cố gắng để đọc toàn bộ tập tin vào bộ nhớ.
Same vấn đề với sys.stdin.readline()
gì tôi thực sự muốn làm là tất nhiên để đọc tất cả các dòng nhưng với một bộ đệm vì vậy tôi không chạy ra khỏi bộ nhớ.
Tôi đang sử dụng python 2,6
Tại sao bạn đang sử dụng thay vì hơn mèo hoặc thậm chí chỉ cần một chuyển hướng đơn giản stdin? –
Tôi không thấy lý do nào khiến chương trình của bạn "đóng băng". Làm thế nào bạn phát hiện ra rằng nó bị đóng băng? –
Ah tôi đã chạy nó từ cửa sổ dòng lệnh. Không có mèo trên cửa sổ. – Martin