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