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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。