2017-06-12 3 views
0

Python hat eine einfache Verkettung mit dem Operator +. Aber ich beobachte etwas Ungewöhnliches.String-Verkettung erfolgt in der nächsten Zeile in Python

Ich habe versucht:

final_path = '/home/user/' + path + '/output' 

Wo path eine starrend Variable I verketten wollen.

print final_path 

gibt mir:

/home/user/path 
/output 

Statt /home/user/path/output

Warum in die nächste Zeile wird. Der Schrägstrich verursacht das Problem. Ich versuchte es auch mit dem Escape-Zeichen. aber es funktioniert nicht.

+0

Mögliches Duplikat von [absoluter Pfad mit os.path.join() erstellen] (https://stackoverflow.com/questions/17429044/constructing-absolute-path-with-os-path-join) –

+1

tl; dr 'os.path.join (os.sep, 'home', 'user', Pfad, 'Ausgabe')' –

+0

Wenn Sie 'Pfad' aus einer Datei bekommen, ist das Ihr Problem. Jede Zeile in der Datei enthält das Zeilenvorschubzeichen. Verwenden Sie einfach 'path.strip()'. – zondo

Antwort

0

Aus dem Aussehen Ihres Codes, kann es die Variable path sein, die das Problem ist. Überprüfen Sie, ob path am Ende eine neue Zeile hat. Escape-Zeichen beginnen mit einem Backslash \ und nicht einem Schrägstrich /.

0

hängt es vielleicht davon ab, welche Zeichenfolge im Variablenpfad enthalten ist. Wenn es mit einem Wagenrücklauf ('\ n') endet, könnte dies erklären, warum die Zeichenfolge variable final_path in 2 Zeilen gedruckt wird.

Grüße.

Verwandte Themen