我正在尝试创建一个 json 文件并写入它。
我的代码如下所示:
def save_as_json(object)
f = File.new('file.json')
f.puts(object.to_json, 'w')
f.close
end
save_as_json({'name'=>'fred'})
问题是,当我运行它时,出现以下错误:
:15:in `initialize': No such file or directory @ rb_sysopen - file.json (Errno::ENOENT)
我要求 Ruby 创建该文件,但它抱怨该文件不存在!创建和写入文件的正确方法是什么?
您只需使用“w”模式打开文件,如下所示:
f = File.new('file.json', 'w')
您希望根据计划对文件执行的操作来确定模式,但您可以选择以下选项:
“r” 只读,从文件开头开始(默认模式)。
“r+” 读写,从文件开头开始。
“w” 只写,截断现有文件
长度为零或创建一个新文件进行写入。
"w+" 读写,将现有文件截断为零长度
或创建一个新文件用于读写。
“a” 只写,每次写入调用都会在文件末尾附加数据。
如果文件不存在,则创建一个新文件进行写入。
“a+” 读写,每次写入调用都会在文件末尾附加数据。
如果文件存在,则创建一个用于读写的新文件
不存在。
IO Docs http://ruby-doc.org/core-2.3.1/IO.html#method-c-new-label-IO+Open+Mode
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)