大佬教程收集整理的这篇文章主要介绍了有没有办法使Ruby临时文件永久性?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在一个相关的点上,有没有办法利用Tempfile机制(或使用类似的机制)获取一个“新”文件名,而无需创建一个名称的文件?
ObjectSpace.undefine_finalizer(tmpfilE)
Tempfile库使用Ruby ObjectSpace finalizer自动删除垃圾回收.通过使用上述行,您可以删除Tempfile删除自身的能力,如果不删除它.所以,例如:
$irb 2.0.0p0 :001 > require "tempfile" => true 2.0.0p0 :002 > t = Tempfile.new("test") => #<Tempfile:/tmp/test20140122-6655-80p4b7> 2.0.0p0 :003 > t.write("Hi!") => 3 2.0.0p0 :004 > ObjectSpace.undefine_finalizer(t) => #<Tempfile:/tmp/test20140122-6655-80p4b7> 2.0.0p0 :005 > exit $cat /tmp/test20140122-6655-80p4b7 Hi! $
还有别的事情要注意. Tempfile将使用系统临时文件目录,如/ tmp,操作系统会在一段时间内自动清除(例如on every boot).正因为如此,即使你“持续”了文件,你也可能需要确定它消失,或者将其移动到默认情况下不被清除的目录,如/ var / tmp(持久性的Linux目录临时文件).
Dir::Tmpname.create('your_application_prefix') { |path| puts path }
它需要一个require“tmpdir”.
以上是大佬教程为你收集整理的有没有办法使Ruby临时文件永久性?全部内容,希望文章能够帮你解决有没有办法使Ruby临时文件永久性?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。