临时文件:创建临时文件的名称

临时文件R文件

为临时文件创建名称

描述

临时文件返回一个字符串向量,可以用作临时文件的名称。

用法

临时文件(pattern=“file”,tmpdir=tempdir(),fileext=“”)tempdir(检查=假)

论据

图案

给出初始部分的非空字符向量的名称。

tmpdir(tmpdir)

给出目录名的非空字符向量

文件文本

提供文件扩展名的非空字符向量

检查

符合逻辑的指示是否tmpdir()如果不再有效,则应检查并重新创建。

细节

结果的长度是三个长度中的最大值论据;较短参数的值将被回收。

在调用中,名称很可能是唯一的临时文件在中R(右)会话和跨并发R(右)会话(除非tmpdir(tmpdir))。文件名保证不会当前正在使用。

文件名是通过连接给定的路径tmpdir(tmpdir),的图案字符串,十六进制的随机字符串后缀为文件文本.

默认情况下,tmpdir公司将是给定的目录临时目录()。这将是每个会话的子目录R(右)会话为起动。环境变量TMPDIR公司TMP公司临时雇员依次进行检查,发现第一个指向使用可写目录:如果没有成功'/临时管理计划使用了“”。路径不应包含空格。请注意,在R(右)阶段对没有影响临时目录():per-session临时目录在启动解释器之前创建。

价值

对于临时文件给出可能名称的字符向量(临时)文件。请注意,不会生成任何文件临时文件.

对于临时目录,per-session临时目录的路径。

在Windows上,两者都将使用反斜杠作为路径分隔符。

在类Unix上,该值将是绝对路径(除非tmpdir(tmpdir)设置为相对路径),但不需要是规范的(参见规范化路径)而在macOS上通常不是这样。

关于并行使用的注释

R(右)由以下函数派生的进程麦克拉普利makeForkCluster公司包装内平行共享一个per-session临时目录。此外,“保证不“当前正在使用”仅适用于询问时孩子们可以同时提问。通过确保那个临时文件在不同的孩子中调用不同的名称。

来源

的最后一个组件临时目录()由POSIX系统创建呼叫mkdtemp公司,或者如果不可用(例如,在Windows)从GNU源代码派生的版本格利布.

它将采用“报告XXXXXX'其中最后6个字符以特定于平台的方式进行替换。POSIX只要求替换为ASCII,它允许.(因此该值可能会出现具有文件扩展名)和regexp元字符,例如+。最常见的替换项来自regexp图案[A-Za-z0-9],但是. 已被发现。

工具书类

Becker,R.A.、Chambers,J.M.和Wilks,A.R.(1988)新S语言.沃兹沃思和布鲁克斯/科尔。

另请参见

取消链接用于删除文件。

示例

tempfile(c(“ab”,“abc”))#提供文件名,其中包含空格!临时文件(“plot”,fileext=c(“.ps”,“.pdf”)tempdir()#适用于所有平台,结果依赖于平台##显示“检查”在某些平台上的工作方式:if(exists(“我很勇敢”)&&`我很勇敢`&&相同(.Platform$OS.type,“unix”)&&grepl(“^/tmp/”,tempdir())){cat(“当前tempdir():”,tempdir(),“\n”)cat(“删除它:”,file.remove(tempdir()),“;dir.exists(tempdir()):”,dir.exacts(temp目录()),“\n”)cat(“现在是tempdir(check=TRUE):”,tempdir[检查=TRUE],“\n”)}