有什么方法可以更改具有 O(1) 空間和時間復雜度的檔案的第 n 個位元組。我確實知道一種以 O(n) 時間復雜度讀取第 n 個位元組(不加載到 RAM)的方法,方法是每 x 個字符添加一個換行符并遍歷檔案中的行。
注意:我有一個使用 latin-1 編碼的 .txt 檔案,大小約為 1GB(因此每個字符占用 1 個位元組)。
uj5u.com熱心網友回復:
正如評論中已經提到的,您可以將當前檔案位置更改為檔案中的特定位置,然后您可以覆寫下一個位元組。
with open("blankpaper.txt", "wb") as f:
# write a few bytes to file
f.write(b"abcdefg")
# changes file position
f.seek(3)
# overwrites the fourth byte
f.write(b"g")
結果檔案有內容b"abcgefg"
。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/458904.html
標籤:Python python-3.x 文件 时间复杂度 大哥