加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby自动删除临时文件?

发布时间:2020-12-17 03:56:38 所属栏目:百科 来源:网络整理
导读:我糊涂了.这是我的代码: require 'csv' require 'tempfile' f = Tempfile.new('csv','/tmp') f.write 'just wanna test' f.close p f.path 如果我打开输出路径,它是空的. 我想这是因为每次ruby会话退出时,TempFile都会自动从文件系统中删除.但是,如何确切地
我糊涂了.这是我的代码:

require 'csv'                                                               
require 'tempfile'                                                          

f = Tempfile.new('csv','/tmp')                                                 
f.write 'just wanna test'                                                       
f.close                                                                        

p f.path

如果我打开输出路径,它是空的.

我想这是因为每次ruby会话退出时,TempFile都会自动从文件系统中删除.但是,如何确切地知道文件何时被删除?因为我想用它在我的rails应用程序中创建临时文件,我担心如果文件在使用之前被删除了.

解决方法

来自docs:

When a Tempfile object is garbage collected,or when the Ruby interpreter exits,its associated temporary file is automatically deleted.

因此,只要您拥有范围内的f,就不会删除它.如果退出Ruby,它将被删除.如果您仍然使用Ruby但f已超出范围,则它是不确定的(可能未删除,但不保证存在,不应使用.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读