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
Bei mir tritt dieses Problem nicht auf, weder in python2, noch in python3.
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.
@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.
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].
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.