加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何处理Ruby中的大文件?

发布时间:2020-12-16 23:18:47 所属栏目:百科 来源:网络整理
导读:我是编程的新手,所以要温柔.我正在尝试从库数据库.dat文件中提取IBSN编号.我编写的代码有效,但它只搜索180MB文件的大约一半.如何调整它来搜索整个文件?或者我怎样才能编写一个程序,将dat文件拆分成可管理的块? 编辑:这是我的代码: export = File.new("re
我是编程的新手,所以要温柔.我正在尝试从库数据库.dat文件中提取IBSN编号.我编写的代码有效,但它只搜索180MB文件的大约一半.如何调整它来搜索整个文件?或者我怎样才能编写一个程序,将dat文件拆分成可管理的块?

编辑:这是我的代码:

export = File.new("resultsfinal.txt","w+")

File.open("bibrec2.dat").each do |line|
  line.scan(/[a]{1}[1234567890xX]{10}W/) do |x|
    export.puts x
  end
  line.scan(/[a]{1}[1234567890xX]{13}/) do |x|
    export.puts x
  end
end

解决方法

您应该尝试捕获异常以检查问题是否确实在读取块上.

只是你知道我已经制作了一个脚本,有点相同的语法来搜索~8GB的真实大文件没有问题.

export = File.new("resultsfinal.txt","w+")

File.open("bibrec2.dat").each do |line|
  begin
    line.scan(/[a]{1}[1234567890xX]{10}W/) do |x|
      export.puts x
    end
    line.scan(/[a]{1}[1234567890xX]{13}/) do |x|
      export.puts x
    end
  rescue
    puts "Problem while adding the result"
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读