2016-07-07 3 views
0

Angenommen, ich habe zwei Dateipfade als Strings in Python, als Beispiel, lassen Sie uns sagen, sie sind diese beiden:Python: Machen Sie einen absoluten Pfad relativ zu einem anderen Pfad

C:/Users/testUser/Program/main.py 
C:/Users/testUser/Program/data/somefile.txt 

Gibt es eine Möglichkeit, über die OS Modul, um eine relative URL basierend auf der ersten zu generieren? Zum Beispiel, um die beiden oben Fütterung zu erzeugen:

data/somefile.txt 

Ich weiß, dies ist möglich mit String-Manipulation, indem Sie die Dateien an den Enden abspaltet und den ersten String aus dem zweiten Schneiden, aber gibt es eine robustere Weise, wahrscheinlich mit dem Python os Modul?

Antwort

2

Dank MPlanchard im Kommentar unten, hier ist die vollständige Antwort:

import os 

string1 = "C:/Users/testUser/Program/main.py" 
string2 = "C:/Users/testUser/Program/data/somefile.txt" 

os.path.relpath(string2, os.path.dirname(string1)) 
+1

Ich denke, was Sie tun wollen os.path.relpath wird (string2, os.path.dirname (string1)) um die Ausgabe des angegebenen Askers zu erhalten. – MPlanchard

+0

Danke für die Bemerkung, ich werde es jetzt bearbeiten :) – Valilutzik