Hallo Leute!
Habe gerade ein Problem. Ich möchte einen String aus einer Datei einlesen und ihn darauf testen ob er mit einer Klammer endet; also sowas hier:
var = (0x00)
if var.endswith(")"):
#do something
Anmerkung: Einlesen und so das geht alles also hierzu bitte keine Tipps.
Allerdings bekomme ich hier nie ein true...
Muss ich hier mit ascii Codierung arbeiten und wenn ja wie?
Grüße
Patrick
String.endswith()
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Schau Dir doch mal an, was ``type(var)`` hier liefert 
Übrigens kann der gezeigte Code so nicht funktionieren, sondern sollte einen ``AttributeError`` werfen!
Übrigens kann der gezeigte Code so nicht funktionieren, sondern sollte einen ``AttributeError`` werfen!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Versuch mal ...
Code: Alles auswählen
var = "(0x00)"
if var.endswith(')'):
print("%s ends with a ')'" % var)
Atomkraftwerkaktienbesitzer
Also hier eine Vereinfachung meines Codes:
vielleicht ist es jetzt deutlicher...
@Ene Uran
Hab deinen Vorschlag ausprobiert so wie im Codebeispiel; funktioniert nur leider nicht
@Hyperion
Das ist aber keine wirkliche Lösung für mein Problem
Code: Alles auswählen
with open("Hallo.txt") as f:
for line in f:
print line
if line.endswith(')'):
print "klammer gefunden"
else:
print "klammer nicht gefunden"
@Ene Uran
Hab deinen Vorschlag ausprobiert so wie im Codebeispiel; funktioniert nur leider nicht
@Hyperion
Das ist aber keine wirkliche Lösung für mein Problem
Probier mal:
Oder falls es noch expliziter sein soll:
Die zweite Variante löscht nur das Newline-Zeichen am Ende einer Zeile, während die erste Variante jegliche Art von zusammenhängendem Leerraum (also auch Leerzeichen oder Tabs) vom Zeilenende entfernt.
Alternativ zur zweiten Variante geht auch:
Dies löscht immer das letzte Zeichen aus dem String (egal was es ist).
Das sind aber eigentlich Dinge, die man nach dem Lesen eines Grundlagen-Tutorials schon von selbst wissen müsste...
Code: Alles auswählen
line.rstrip().endswith(')')Code: Alles auswählen
line.rstrip('\n').endswith(')')Alternativ zur zweiten Variante geht auch:
Code: Alles auswählen
line[:-1].endswith(')')Das sind aber eigentlich Dinge, die man nach dem Lesen eines Grundlagen-Tutorials schon von selbst wissen müsste...
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich kann doch nichts dafür, dass Du uns hier *fehlerhaften* und sachlich *falschen* Code zur Beschreibung postestKilligen hat geschrieben: @Hyperion
Das ist aber keine wirkliche Lösung für mein Problem
Meine Kristallkugel hat da eben nicht so gut funktioniert wie die der anderen...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
*tröst*Sirius3 hat geschrieben:@Hyperion: lieber eine kaputte Kristallkugel als konsequent ignoriert zu werden
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
