ruby 操作大檔案

2021-06-26 09:50:12 字數 773 閱讀 5208

本人測試的ruby版本是ruby1.9.3p286 

首先我讀取乙個 100m 的1.txt檔案

然後將它完全複製到另乙個2.txt中,發現只能複製45736kb

**主要部分如下:

puts "檔案大小是:#位元組"#檔案再大它的大小還是能夠正確的讀出來的

while value = file.gets 

file1.printvalue

end那麼我們怎麼辦才能全部複製過去呢?

其實很簡單只要使用file.seek 就可以了

在 ruby 中,io類有如下三個常量用於指示從何處開始在 io 流中搜尋資料:

seek_cur:從當前位置開始

seek_end:從 io 流末尾位置開始

seek_set:從 io 流起始位置開始(亦即」絕對位置「)

再配合 file.seek就可以了

可以參考

我的修改後 額外增加的部分主要**如下:

seeklen =45736

file2.seek(seeklen)

file3 =file.open(filepath1,"a+")   #追加方式

file3.puts""

while value =file2.gets  

file3.printvalue

end

這就解決了

具體如何完整的應用請自己研究吧,這裡只是提供個思路

python大檔案操作

我們知道python進行資料處理時有相應的庫,此篇只是針對python標準庫中file檔案操作中的read,readline,readlines等進行介紹 我們使用file讀取檔案時常看到直接使用read readlines 等一次性把檔案讀取完畢,這樣對小檔案來說當然可以,但是對於大檔案來說就可能...

php讀取操作大檔案

注 由於 file函式是一次性將所有內容讀入記憶體,而php為了防止一些寫的比較糟糕的程式占用太多的記憶體而導致系統記憶體不足,使伺服器出現宕機,所以預設情況下 限制只能最大使用記憶體16m,這是通過php.ini裡的 memory limit 16m來進行設定,這個值如果設定 1,則記憶體使用量不...

python正則操作大檔案

開啟檔案的模式說明 開啟檔案的模式有 預設為文字模式 模式 說明 修改檔案內容方法一 import os with open a.txt as read f,open a.txt.swap w as write f data read f.read 全部讀入記憶體,如果檔案很大,會很卡 data d...