On Fri, Jan 17, 2014 at 6:16 AM, Martin Maechler <maech...@stat.math.ethz.ch> wrote: >>>>>> Gabor Grothendieck <ggrothendi...@gmail.com> >>>>>> on Fri, 17 Jan 2014 00:10:43 -0500 writes: > > > If a path name ends in slash then file.exists says it does > > not exist. I would have expected these to all return > > TRUE. > > >> file.exists("/Program Files") > > [1] TRUE > >> file.exists("/Program Files/") > > [1] FALSE > >> file.exists(normalizePath("/Program Files/")) > > [1] FALSE > >> R.version.string > > [1] "R version 3.0.2 Patched (2013-11-25 r64299)" > > I would also have expected all these to work, > but that is only because I do not use Windows; > indeed, for me (Linux Fedora 19, but I'm pretty sure *any* > version): > > > dir.create("/tmp/foo bar") > > normalizePath("/tmp/foo bar/") > [1] "/tmp/foo bar" > > file.exists("/tmp/foo bar/") > [1] TRUE > > file.exists(normalizePath("/tmp/foo bar/")) > [1] TRUE > > > > > > I am using Windows 8.1 . > > poor you ;-) yes, don't take it personally > > Last but not least ?file.exists in its 'Details' section > mentions several times how Windows behaves differently from the > civilized world (:-) > notably that it also says > > (However, > directory names must not include a trailing backslash or slash on > Windows.) > > So, all seems as documented, but unfortunately your (and most > probably not only yours !!) expectations are different. > I agree that this is quite unfortunate, and we all would be > happy if OSes were consistent here. > > I wonder if R couldn't help you (and many others) better to > gloss over these OS differences in a helpful way. > This list may be a good place to discuss such proposals ... >
I do find that sometimes I have to deal with paths that I did not create that end in / or \. At the moment I am using this to avoid the problem: File.exists <- function(x) { if (.Platform$OS == "windows" && grepl("[/\\]$", x)) { file.exists(dirname(x)) } else file.exists(x) } but it would be nice if that could be done by file.exists itself. -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel