tempfile
returns a vector of character strings which can be used as
names for temporary files.
tempfile(pattern = "file", tmpdir = tempdir(), fileext = "")
tempdir()
a non-empty character vector giving the initial part of the name.
a non-empty character vector giving the directory name
a non-empty character vector giving the file extension
For tempfile
a character vector giving the names of possible
(temporary) files. Note that no files are generated by tempfile
.
For tempdir
, the path of the per-session temporary directory.
Both will use backslash as the path separator.
The value will be an absolute path (unless tmpdir
is set to a
relative path), but it need not be canonical (see
normalizePath
) and on macOS usually is not.
R processes forked by functions such as mclapply
and
makeForkCluster
in package parallel share a
per-session temporary directory. Further, the ‘guaranteed not
to be currently in use’ applies only at the time of asking, and two
children could ask simultaneously. This is circumvented by ensuring
that tempfile
calls in different children try different names.
The length of the result is the maximum of the lengths of the three arguments; values of shorter arguments are recycled.
The names are very likely to be unique among calls to tempfile
in an R session and across simultaneous R sessions (unless
tmpdir
is specified). The filenames are guaranteed not to be
currently in use.
The file name is made by concatenating the path given by
tmpdir
, the pattern
string, a random string in hex and
a suffix of fileext
.
By default, tmpdir
will be the directory given by
tempdir()
. This will be a subdirectory of the per-session
temporary directory found by the following rule when the R session is
started. The environment variables TMPDIR
, TMP
and
TEMP
are checked in turn and the first found which points to a
writable directory is used:
if none succeeds /tmp
is used. The path should not contain spaces.
if none succeeds the value of R_USER
(see
Rconsole
) is used. If the path to the directory
contains a space in any of the components, the path returned will use
the shortnames version of the path.
Note that setting any of these environment variables in the R session
has no effect on tempdir()
: the per-session temporary directory
is created before the interpreter is started.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
unlink
for deleting files.
# NOT RUN {
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
# }
Run the code above in your browser using DataLab