本文简要介绍ruby语言中 Tempfile.new
的用法。
用法
new(basename="", tmpdir=nil, mode: 0, **options)
创建一个权限为 0600 的临时文件(= 只有所有者可读和可写)并以 “w+” 模式打开它。
建议尽可能使用 Tempfile.create
{ ... } 代替,因为该方法避免了委托成本,并且不依赖终结器来关闭和取消链接文件,这是不可靠的。
basename
参数用于确定临时文件的名称。您可以传递带有 2 个 String
元素的 String
或 Array
。在前一种形式中,临时文件的基本名称将以给定的字符串开头。在后一种形式中,临时文件的基本名称将从数组的第一个元素开始,到第二个元素结束。例如:
file = Tempfile.new('hello')
file.path # => something like: "/tmp/hello2843-8392-92849382--0"
# Use the Array form to enforce an extension in the filename:
file = Tempfile.new(['hello', '.jpg'])
file.path # => something like: "/tmp/hello2843-8392-92849382--0.jpg"
临时文件将放置在tmpdir
参数指定的目录中。默认情况下,这是 Dir.tmpdir
。
file = Tempfile.new('hello', '/home/aisaka')
file.path # => something like: "/home/aisaka/hello2843-8392-92849382--0"
您还可以传递选项哈希。在后台, Tempfile
使用 File.open
创建临时文件。这些选项将传递给 File.open
。这对于指定编码选项非常有用,例如:
Tempfile.new('hello', '/home/aisaka', encoding: 'ascii-8bit')
# You can also omit the 'tmpdir' parameter:
Tempfile.new('hello', encoding: 'ascii-8bit')
注意:mode
关键字参数,由 Tempfile
接受,只能是数字,是 File::Constants
中定义的模式的组合。
异常
如果 Tempfile.new
在有限的尝试次数内无法找到唯一的文件名,则会引发异常。
调用超类方法
相关用法
- Ruby Tempfile.unlink用法及代码示例
- Ruby Tempfile.open用法及代码示例
- Ruby Tempfile.create用法及代码示例
- Ruby Tempfile类用法及代码示例
- Ruby Template.match用法及代码示例
- Ruby Time tv_sec用法及代码示例
- Ruby Time usec用法及代码示例
- Ruby TCPServer.accept用法及代码示例
- Ruby Time yday()用法及代码示例
- Ruby Time succ()用法及代码示例
- Ruby Time mon()用法及代码示例
- Ruby Time.gmtime用法及代码示例
- Ruby Time iso8601用法及代码示例
- Ruby Time.at用法及代码示例
- Ruby Thread.kill用法及代码示例
- Ruby Time.utc_offset用法及代码示例
- Ruby Time.isdst用法及代码示例
- Ruby TracePoint.defined_class用法及代码示例
- Ruby Time.time + numeric用法及代码示例
- Ruby Thread.pending_interrupt?用法及代码示例
- Ruby Time wednesday?用法及代码示例
- Ruby Time.wednesday?用法及代码示例
- Ruby Thread kill()用法及代码示例
- Ruby Time asctime()用法及代码示例
- Ruby TypeError类用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Tempfile.new。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。