tempfile
位於 base
包(package)。 說明
tempfile
返回一個字符串向量,可用作臨時文件的名稱。
用法
tempfile(pattern = "file", tmpdir = tempdir(), fileext = "")
tempdir(check = FALSE)
參數
pattern |
給出名稱開頭部分的非空字符向量。 |
tmpdir |
給出目錄名稱的非空字符向量 |
fileext |
給出文件擴展名的非空字符向量 |
check |
|
細節
結果的長度是三個參數長度中的最大值;較短參數的值會被回收。
這些名稱很可能在調用中是唯一的tempfile
在一個R會話和跨同步R會話(除非tmpdir
已指定)。保證文件名當前未被使用。
文件名是通過連接 tmpdir
給出的路徑、pattern
字符串、十六進製隨機字符串和 fileext
後綴而成的。
默認,tmpdir
將是由給出的目錄tempdir()
。這將是按以下規則找到的每會話臨時目錄的子目錄:R會話開始。環境變量TMPDIR,TMP和TEMP依次檢查並使用第一個找到的指向可寫目錄的:如果沒有成功'/tmp' 用來。該路徑不得包含空格。請注意,在R會話沒有影響tempdir()
:每個會話的臨時目錄是在解釋器啟動之前創建的。
值
對於tempfile
,字符向量給出可能的(臨時)文件的名稱。請注意,tempfile
不會生成任何文件。
對於 tempdir
,每個會話臨時目錄的路徑。
在 Windows 上,兩者都將使用反斜杠作為路徑分隔符。
在類似 Unix 的係統上,該值將是絕對路徑(除非 tmpdir
設置為相對路徑),但它不必是規範的(請參閱 normalizePath
),而在 macOS 上通常不是。
並聯使用注意事項
R由諸如以下的函數分叉的進程mclapply
和makeForkCluster
包裝內parallel
共享每個會話的臨時目錄。此外,“保證當前不在使用”僅適用於詢問時,兩個孩子可以同時詢問。這是通過確保tempfile
在不同的孩子叫聲中嘗試不同的名字。
例子
tempfile(c("ab", "a b c")) # give file name with spaces in!
tempfile("plot", fileext = c(".ps", ".pdf"))
tempdir() # works on all platforms with a platform-dependent result
## Show how 'check' is working on some platforms:
if(exists("I'm brave") && `I'm brave` &&
identical(.Platform$OS.type, "unix") && grepl("^/tmp/", tempdir())) {
cat("Current tempdir(): ", tempdir(), "\n")
cat("Removing it :", file.remove(tempdir()),
"; dir.exists(tempdir()):", dir.exists(tempdir()), "\n")
cat("and now tempdir(check = TRUE) :", tempdir(check = TRUE),"\n")
}
來源
tempdir()
的最終組件由 POSIX 係統調用 mkdtemp
創建,或者如果該組件不可用(例如在 Windows 上),則從 GNU glibc
的源代碼派生版本。
其形式為‘RtmpXXXXXX’ 其中最後 6 個字符以特定於平台的方式替換。 POSIX 僅要求替換為 ASCII,這允許.
(因此該值可能看起來有文件擴展名)並且正則表達式元字符,例如+
。最常見的替代品來自正則表達式圖案[A-Za-z0-9]
, 但.
已被看見了。
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
unlink
用於刪除文件。
相關用法
- R textConnection 文本連接
- R taskCallback 添加或刪除頂級任務回調
- R toString 將 R 對象轉換為字符串或測試字符串
- R tilde 波形符運算符
- R try 嘗試允許錯誤恢複的表達式
- R transform 轉換對象,例如 DataFrame
- R tracemem 對象的跟蹤複製
- R traceback 獲取並打印調用堆棧
- R t 矩陣轉置
- R table 交叉表和表格創建
- R taskCallbackManager 創建R級任務回調管理器
- R typeof 對象的類型
- R taskCallbackNames 查詢當前內部頂級任務回調名稱
- R trace 函數或方法調用的交互式跟蹤和調試
- R timezones 時區
- R tabulate 向量列表
- R tapply 對不規則數組應用函數
- R trimws 刪除前導/尾隨空格
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Create Names for Temporary Files。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。