我正在尝试创建一个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'})
Run Code Online (Sandbox Code Playgroud)
问题是,运行时出现以下错误:
:15:in `initialize': No such file or directory @ rb_sysopen - file.json (Errno::ENOENT)
Run Code Online (Sandbox Code Playgroud)
我要求Ruby创建该文件,但它抱怨它不存在!创建和写入文件的正确方法是什么?
您只需要使用'w'模式打开文件,如下所示:
f = File.new('file.json', 'w')
Run Code Online (Sandbox Code Playgroud)
您希望根据计划对文件执行的操作来确定模式,但以下是您的选择:
"r"只读,从文件开头(默认模式)开始.
"r +"读写,从文件开头开始.
"w"只写,将现有文件截断为零长度或创建用于写入的新文件.
"w +"读写,将现有文件截断为零长度或创建用于读写的新文件.
"a"只写,每次写入调用都会在文件末尾附加数据.如果文件不存在,则创建用于写入的新文件.
"a +"读写,每次写调用都会在文件末尾附加数据.如果文件不存在,则创建用于读写的新文件.
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |