簡體   English   中英

如何使用 Python read() 一次性讀取大文件

[英]How to read large file at once with Python read()

問題

我有一個 270,000 行的 txt 文件(15M),試圖用 python 導入,但它總是顯示部分或它(大約 100,000 行)

with open('a.log', 'r') as f:

    raw_text_data = f.read()
    print(raw_text_data)

如果使用 max_size 參數,它可以顯示前面的部分。

raw_text_data = f.read(1000)

還嘗試以二進制模式('rb')讀取它,但對我不起作用。

我不想把txt文件分塊讀取,有什么辦法一次性讀入內存嗎?

我的猜測是您看到的是print()輸出緩沖的結果。 作為一種技巧,您可以嘗試使用print(raw_text_data, flush=True)繞過輸出緩沖。

請注意,由於遇到緩沖區溢出的原因,不建議使用print()在 STDOUT 上顯示大量數據。 顯示大塊數據時,應首選較低級別的 API,例如os.write()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM