簡體   English   中英

在刪除或替換指定字符的同時讀取文件?

[英]Reading a file while dropping or replacing specified characters?

我有一個包含一些 NULL 字符的大文件。 我想用 Python 讀取這個文件,就好像這些 NULL 不存在一樣。 我可以將整個文件讀入內存字符串並執行str.replace ,但這效率低下,尤其是考慮到它的總大小(可能是多個 GB)。

有沒有一種有效的方法可以在 Python 中讀取文件,同時動態刪除某些字符,或者用其他字符替換它們?

以二進制模式打開文件並以合適大小的塊讀取它。 從每個塊中刪除不需要的字符並將結果字節寫入另一個打開用於寫入的文件。

這適用於\\x00字節,但如果它是使用 utf-8 編碼的文本文件,則肯定會失敗,其中單個字母可能需要幾個字節。

這可以使用codecs.open解決。 返回的類文件對象允許您read給定編碼中的近似字節數。

暫無
暫無

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

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