[R] file path

Duncan Murdoch murdoch.duncan at gmail.com
Wed May 9 16:40:15 CEST 2012


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



More information about the R-help mailing list