Ich möchte den vollständig qualifizierten Namen einer Datei in R erhalten, wenn eine der Standardnotationen vorliegt. Zum Beispiel:
path.expand
behandelt werden) Unter vollqualifizierter Dateiname verstehe ich zum Beispiel (auf einem Unix-ähnlichen System):
/home/user/some/path/file.ext
(Bearbeitet - file.path verwenden und Windows-Unterstützung versuchen) Eine einfache Implementierung könnte sein:
%Vor% Ich würde jedoch idealerweise etwas plattformübergreifendes mögen, das relative Pfade mit ../
, Symlinks usw. verarbeiten kann. Eine R-only-Lösung wäre vorzuziehen (anstatt Shell-Scripting oder ähnliches), aber ich kann sie nicht finden eine einfache Art und Weise, dies zu tun, kurz, es von Grund auf neu zu programmieren.
Irgendwelche Ideen?
Ich denke du willst normalizePath()
:
Für Windows gibt es das Argument winslash
, das Sie möglicherweise ständig setzen möchten, da es auf etwas anderem als Windows ignoriert wird, so dass es keine Auswirkungen auf andere Betriebssysteme hat:
(Sie müssen die \
daher aus dem \
entfernen) oder
abhängig davon, wie der Pfad dargestellt / verwendet werden soll. Der erste ist der Standard ( "\"
), also könntest du bei ihm bleiben, wenn es ausreicht, ohne etwas explizit einstellen zu müssen.
In R 2.13.0 funktioniert auch das "~/file.ext"
-Bit (siehe Kommentare):
Ich glaube, ich vermisse den Punkt Ihrer Frage, aber hoffentlich kann meine Antwort Sie in die von Ihnen gewünschte Richtung weisen (sie integriert Ihre Idee, paste
und getwd
mit list.files
zu verwenden):
Bearbeiten: Funktioniert auf Windows in einigen getesteten Ordnern.