gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 07:02:11 26 4
gpt4 key购买 nike

我很困惑。这是我的代码:

require 'csv'                                                               
require 'tempfile'

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

p f.path

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

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

最佳答案

来自文档:

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

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

关于ruby-on-rails - Ruby 自动删除临时文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com