gpt4 book ai didi

ruby - 如何在 Ruby 中处理大文件?

转载 作者:数据小太阳 更新时间:2023-10-29 07:04:57 34 4
gpt4 key购买 nike

我对编程还很陌生,所以请多多关照。我正在尝试从图书馆数据库 .dat 文件中提取 IBSN 编号。我编写了有效的代码,但它只搜索了 180MB 文件的大约一半。如何调整它以搜索整个文件?或者我如何编写一个程序将 dat 文件拆分成可管理的 block ?

编辑:这是我的代码:

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

最佳答案

您应该 try catch 异常以检查问题是否真的在读取 block 上。

只是想让你知道,我已经用类似的语法制作了一个脚本来毫无问题地搜索 ~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

关于ruby - 如何在 Ruby 中处理大文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1090357/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com