2
我試圖在文本文件中非常特定的位置插入文本。這個文本文件可以相當大(>> 10 GB)Python:在大文件中替換文本
我目前使用的讀它的方法:
with open("my_text_file.txt") as f:
while True:
result = f.read(set_number_of_bytes)
x = process_result(result)
if x:
replace_some_characters_that_i_just_read_and write_it_back_to_same_file
不過,我不確定如何去實現
replace_some_characters_that_i_just_read_and write_it_back_to_same_file
是否有一些方法可以用來確定當前文件中我可以用來寫入文件的位置。
性能的角度來看,如果我是用上面的方法在特定位置寫入到原始文件,會有效率問題具有寫之前找到寫入位置?
或者你會建議創建一個完全不同的文件和上述追加到該文件在每次循環。然後在此操作完成後刪除原始文件?假設空間不是一個大問題,但表現是。
您替換的文本與原始文件長度完全相同嗎?如果沒有,那麼你沒有多少選擇,並且需要創建一個新文件。 –
並非所有的文字都與原文相同。文件輸入模塊是否在每次寫入時(每次迭代循環)都在內部創建一個新文件? (在下面提到) – user1431282
@ user1431282:擴展到我的答案;將文件移到一邊,然後編寫一個完整的新文件,並根據需要更改原始數據。 –