ruby逐行遍历文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby逐行遍历文件相关的知识,希望对你有一定的参考价值。

ruby遍历文件内容,基本思路是逐行读取逐行打印,也是比较普遍的方法:

#!/usr/bin/env ruby
#Encoding:utf8

file = File.open("/tmp/abc.txt")
file.each_line do |line|
  print line
end
file.close


另外一种写法,一次性读取一次性打印,相对耗费更多内存,小文件场合比上面的方法更快。不推荐操作大文件。

#!/usr/bin/env ruby
# Encoding:utf8

wholefile = File.read("/tmp/abc.txt")
print wholefile


小结

1、第一种方法比较像sed,awk之类的流编辑器,第二种方法跟cat一样暴力。

2、File.read不需要显式关闭文件句柄。


扩展

在打开文件前,判断文件是否存在

#!/usr/bin/env ruby
# Encoding: utf8
if File.exist?("/tmp/abc.txt")
  file = File.open("/tmp/abc.txt")
  file.each_line do |line|
    print line
  end
  file.close
else
  puts "error:file not exist"
end

逐行读取,将文件名作为ruby脚本的参数

#!/usr/bin/env ruby
# Encoding: utf8

filename = ARGV[0]
if File.exist?(filename)
  file = File.open(filename)
  file.each_line do |line|
    print line
  end
  file.close
else
  puts "error:file not exist"
end




本文出自 “专注Linux 运维” 博客,转载请与作者联系!

以上是关于ruby逐行遍历文件的主要内容,如果未能解决你的问题,请参考以下文章

ruby 使用Enumerable逐行迭代文件

ruby 使用Enumerable逐行迭代文件

使用 Ruby 逐行读取、编辑和写入文本文件

C 语言文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )

如何逐行读取大文件?

C 语言文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取文件中的文本行 | 查询文本行数据 | 追加文件数据 | 使用占位符方式拼接字符串 )