在Ruby中,写入文件的最佳方法是什么?

14

我想在Ruby中将一些数据写入文件。最佳方法是什么?

5个回答

32
File.open("a_file", "w") do |f|
    f.write "some data"
end

根据个人喜好/必要性,您还可以使用f << "some data"f.puts "some data"来添加换行符。如果您想附加到文件而不是在每次打开时截断,请将"w"更改为"a"


我赞同将块传递给File.open。这是最安全的方法,因为无论发生什么(正确执行、异常等),文件都保证能够正确关闭。 - webmat

3

2
除了File.newFile.open(以及其他有趣的IO功能)外,如果您要保存并从Ruby加载数据,并且数据是对象形式的,则可以考虑使用Marshal直接保存和加载对象。

0

使用File::open是最好的选择:

File.open("/path/to/file", "w") do |file|
  file.puts "Hello file!"
end

如前所述,您可以使用“a”而不是“w”来将内容附加到文件中。还有其他模式可供选择,在ri IO中列出,或者在Ruby Quickref中找到更多信息。

-2
filey = File.new("/path/to/the/file", APPEND)
filey.puts "stuff to write"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接