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? Best -- Wincent Ronggui HUANG Sociology Department of Fudan University PhD of City University of Hong Kong http://homepage.fudan.edu.cn/rghuang/cv/
Hi Wincent, Have a look at: ?file.path ----------------Contact Details:------------------------------------------------------- Contact me: Tal.Galili@gmail.com | 972-52-7275845 Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | www.r-statistics.com (English) ---------------------------------------------------------------------------------------------- On Wed, May 9, 2012 at 11:03 AM, Wincent <ronggui.huang@gmail.com> 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? > > Best > > -- > Wincent Ronggui HUANG > Sociology Department of Fudan University > PhD of City University of Hong Kong > http://homepage.fudan.edu.cn/rghuang/cv/ > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
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