On 09/05/2012 4:03 AM, Wincent wrote:
Dear all, is there any function to assert whether a file path is
legitimate, and to convert any potential file path to a legitimate
file path?

I automate a batch of files and write them to plain text files with
cat(). The file argument of cat() is generated automatically which may
contain characters such as ?<  >, unacceptable in Windows OS. What I
do at this moment is to strip such characters off with gsub(). Is
there any direct way to make legitimate file path without detailed
knowledge about the naming rule specific to a OS?

I would just try to create the file, and if you fail, it's not legitimate. Alternatively, you could look at the tests that R uses when it checks a package: we try to keep filenames portable to all operating systems. The rules seem to be strictest for vignettes:

        ## we specify ASCII filenames starting with a letter in R-exts
        ## do this in a locale-independent way.
OK <- grep("^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-]+$", vignettes)

Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to