Vollqualifizierter Dateiname in R

8

Ich möchte den vollständig qualifizierten Namen einer Datei in R erhalten, wenn eine der Standardnotationen vorliegt. Zum Beispiel:

  • datei.ext
  • ~ / file.ext (dieser Fall kann von path.expand behandelt werden)
  • ../ current_dir / Datei.ext
  • usw.

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?

    
daveslanted 19.04.2011, 16:21
quelle

2 Antworten

10

Ich denke du willst normalizePath() :

%Vor%

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:

%Vor%

(Sie müssen die \ daher aus dem \ entfernen) oder

%Vor%

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):

%Vor%     
Gavin Simpson 19.04.2011, 16:58
quelle
2

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):

%Vor%

Bearbeiten: Funktioniert auf Windows in einigen getesteten Ordnern.

    
Henrik 19.04.2011 16:32
quelle

Tags und Links