我正在遍历文件夹中的文件以搜索特定的字符串。 文件夹名称为persistent.bak。在浏览此文件夹时,它会给出错误...在'初始化' :是一个目录@ rb_sysopen - persistent.bak(Errno :: EISDIR)。
Dir.glob("**/*.*") do |file_name|
fileSdfInput = File.open(file_name)
fileSdfInput.each_line do |line|
if ((line.include?"DATE")
@count = @count + 1
end
end
end
答案 0 :(得分:4)
你的glob Dir.glob("**/*.*")
匹配模式 persistent.bak
因此,在你的循环中,你实际上是在尝试打开名为persistent.bak的文件夹作为文件,而ruby并不欣赏。
为了说服自己,尝试输出文件名,你就会看到它。
最简单的解决方法:
Dir.glob("**/*.*") do |file|
next if File.directory? file
fileSdfInput = File.open(file)
fileSdfInput.each_line do |line|
if (line.include?"DATE")
@count = @count + 1
end
end
end