| tempfile {base} | R Documentation |
Create Names for Temporary Files
Description
tempfile returns a vector of character strings which can be used as
names for temporary files.
Usage
tempfile(pattern = "file", tmpdir = tempdir(), fileext = "")
tempdir()
Arguments
pattern |
a non-empty character vector giving the initial part of the name. |
tmpdir |
a non-empty character vector giving the directory name |
fileext |
a non-empty character vector giving the file extension |
Details
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 temporary
directory found by the following rule. 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.
Value
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.
Note on parallel
R processes produced by function such as mclapply in
package parallel (or multicore) 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. As from R 2.14.1 this is avoided
by ensuring that tempfile calls in different children look for
different names.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
See Also
unlink for deleting files.
Examples
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