如何打開文件,讀取文件,然後寫入文件來替換整個內容,然後關閉它?Ruby - 讀取文件,替換內容,然後關閉
我可以這樣做:
File.open('foo.bin', 'r') do |f|
contents = f.read
end
# do something with the contents
File.open('foo.bin', 'w') do |f|
f.print contents
end
但也有2個IO開放的步驟和2個IO在接近步驟,並加倍IO步驟似乎是一個完全是浪費,不要更難提與磁盤上儘可能多地發生在我的腳本中。
有沒有辦法打開,閱讀,覆蓋,然後關閉?
考慮使用不要求你閱讀每一個數據塊的更好的數據格式,只是對其進行處理。 SQLite總是一個好的開始。另外,在決定這是什麼讓它變慢之前,你是否對代碼進行了剖析? – Schwern
由於商業決策的方式高於我的頭,我必須保持它完全本地和便攜到任何沒有外部依賴的機器。這幾乎消除了任何數據庫的可能性。而且尺寸太大而無法存儲在內存中。它把IO作爲我唯一的選擇,我的問題依然存在。 – yenadar
是的,這是幾個減速之一。我正在處理每個問題,包括這一個。 – yenadar