Python Backslash Escape

Gast #2866897
Hallo,

ich habe das Problem, dass wenn ich nur ein Backslash in Python 3 
anzeigen möchte mir immer zwei angezeigt werden. Möchte ich zwei 
anzeigen, verdoppelt sich die Zahl um vier. Ich kann also keine ungerade 
Anzahl an Backslashes bekommen.
Beispiel:
variable = "\\" <- ich escape hier mit einem Backslash um ein einziges 
sehen zu wollen
Ergebnis: '\\' <- zwei backslashes
variable = "\\\\" <- Hier erwarte ich Zwei Backslashes
Ergebnis: '\\\\' <- vier Backslashes
Da ich aber nicht "\" oder "\\\" schreiben kann um einen oder 3 
Backslashes zu sehen weil ein Zeichen ein Escapezeichen ist bleibe ich 
hierbei hängen. Hat jemand einen Tipp für mich wie ich eine ungerade 
Anzahl an Backslashes sehen kann?

Gruß
VH
Moderator
Wie gibst du die Variable aus? Wahrscheinlich, indem du im interaktiven
Modus einfach
1
>>> variable

eintippst. Dann wird der String mitsamt den Hochkommata und den
Escape-Backslashes (also das Ergebnis von repr(variable)) angezeigt.

Gibts du die Variable hingegen mit
1
>>> print(variable)

aus, so wie es ein normales Python-Programm ebenfalls tun würde,
erhältst du die erwartete Ausgabe.
Gast
@Yalu X.: Das stimmt, so ist es in dem Fall auch.

Mein eigentliches Problem ist, dass ich ein Bashskript habe wo ich ein 
Pythonskript aufrufe mit Argument zu einem Pfad mit einer Datei. Ich 
rufe also das Skript mittels
1
python Skript.py <Pfad>
Wobei <Pfad> in etwa sowas ist: "\\...\...\...\<datei>.txt"
Wenn ich nun diese Datei zum Lesen öffne mittles
1
open(<Pfad>,"r")
liest er den Pfad wie folgt: "\\\\...\\.\\..\\..."
Das bekomme ich irgendwie nicht weg, dass der parameter nur mit der von 
mir gewollten Backslash-Anzahl übergeben wird.
Gast
Hat sich erledigt, der Fehler lag an meiner Argumentübergabe begraben.
Habe vergessen, dass das erste Argument in Python immer sys.argv ist und 
erst das zweite sys.argv[1].

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.