本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。