【发布时间】:2016-06-02 16:45:27
【问题描述】:
在 ruby 中创建 Tempfile 时,它会接受您传递的 basename,然后在末尾附加一个随机字符串。
来自文档: http://ruby-doc.org/stdlib-1.9.3/libdoc/tempfile/rdoc/Tempfile.html
file = Tempfile.new('hello')
file.path # => something like: "/tmp/hello2843-8392-92849382--0"
您可以看到它以hello 开头,然后添加2843-8392-92849382--0。虽然每次创建实例时这个结局都会改变。
这使得(至少对我而言)很难在其保存的目录中查找。
问题:
是否有任何方法(如file.fullName)可以在实例上运行以获取hello2843-8392-92849382--0,以便在其保存的目录中查找它?
想法:
您可以获取path 并对其进行解析,但这似乎太过分了。
【问题讨论】:
-
file.path.split('/').last好像过分了? -
@mlovic 考虑到有一个提取这个的函数,是的,这太过分了。它也可能会给出错误的答案,因为在某些平台上
/可以在文件名中。 -
@tadman 抱歉,我没想到,你说得对。
标签: ruby temporary-files