On 11-12-28 4:30 PM, Ben quant wrote:
Hello, (sorry re-posting due to typo)
I'm attempting to get the folders of a path in a robust way (platform
independent, format independent). It has to run on Windows and Linux and
tolerate different formats.
For these: (The paths don't actually exist in Linux but you get the idea.)
Windows:
file_full_path = "C://Program Files//R//R-2.13.1//NEWS.pdf"
file_full_path = "C:\Program Files\R\R-2.13.1\NEWS.pdf"
Linux:
file_full_path = "~/Program FilesR/R-2.13.1/NEWS.pdf"
file_full_path = "/home/username/Program FilesR/R-2.13.1/NEWS.pdf"
I would get for Windows: "C", "Program Files", "R", "R-2.13.1","NEWS.pdf"
I would get for Linux: "home","username", "Program Files", "R",
"R-2.13.1","NEWS.pdf"
(The drive and/or home/username aren't necessary, but would be nice to
have. Also, that file name isn't necessary, but would be nice.)
Thank you for your help,
If you use the normalizePath() function with winslash="/", then all
current platforms will return a path using "/" as the separator, so you
could do something like
strsplit(normalizePath(filename, winslash="/"), "/")[[1]]
You need to be careful with normalizePath: at least on Windows, it will
not necessarily do what you wanted if the filename doesn't exist.
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.