2017-01-30 6 views
-1

Ich habe einige Skripte, die als Eingabe einen oder mehrere Pfade als Argument verwenden. r oder n in der Argumentenliste von Python hinzugefügt

Das Skript wird so laufen: myScript.py D: \ Folder1, E: \ Sonstigedaten \ Files

Im Skript i in dem Komma der Pfade Argumente geteilt und ich las die Pfade.

Das Problem ist, dass Python ein \ r am Ende jedes Pfades ohne Grund hinzufügt. So versucht das Skript, D: \ Folder1 \ r und E: \ OtherData \ Files \ r zu lesen.

Warum ist das und wie kann ich es lösen?

+1

Ich habe noch nie gesehen, dass Python irrelevante Dinge hinzugefügt hat, die nicht ohne Grund da sein sollten. Bitte füge ein [mcve] hinzu, damit wir sehen können, was du meinst. – TigerhawkT3

+0

Ein Komma (',') ist ein gültiges Zeichen in einem Dateinamen. Ich empfehle, den Dateinamen durch ein Leerzeichen zu trennen und sie bei Bedarf in Anführungszeichen zu setzen. Dadurch werden sie Elemente in 'sys.argv' getrennt. –

Antwort

0

Es gibt viele Möglichkeiten, hier ist zum Beispiel eine.

die relevante problematische Zeichenfolge mit einer leeren Zeichenkette Ersetzen:

paths= [x.rstrip() for x in paths_list] 

Verfahren rstrip() gibt eine Kopie des Strings in dem alle Zeichen wurden aus dem Ende der Schnur (default Leerzeichen) abgestreift worden .

Verwandte Themen