我想创建一个临时文件:
def create_file
FileUtils.mkdir_p('/var/log/my_app')
tmp_file = '/var/log/my_app/tmp_file'
File.open(tmp_file, 'w') do |file|
file.write 'test'
end
end
我确信/var/log/my_app
路径存在。但在我运行此方法后,我找不到该路径下名为tmp_file
的文件。
而且也没有任何错误。
答案 0 :(得分:2)
我认为你会更好地使用Ruby的TempFile类,甚至可能是Ruby的临时目录,如本文所述:Quick tips for doing IO with Ruby。
我想你会发现这篇文章很有帮助。我相信它会让您的方法更容易 - 尤其是在完成文件后删除文件。
答案 1 :(得分:0)
我的代码中没有任何错误。如果您没有收到任何异常,则必须已创建该文件(如果已执行此功能)。
我建议您在 create_file 结束时进行测试:
if File.file?
puts "File has been created"
else
fail "File is not there!"
end
如果您看到"文件已创建",但该文件仍然缺失,则必须先删除它,然后才能检查其存在。如果你看到"文件不存在!",有些奇怪的事情正在发生,我会称之为驱魔人。如果您没有看到任何消息,则表示您的功能尚未执行。