Nochmal /me's Punkt: `line` ist immer ein String und da ein String in Python immer aus Strings besteht, ist auch `line[24]` immer ein String. Darum kannst du dir Zeile 5&6 sparen.
Wenn dir die Fehlermeldung tatsaechlich nichts sagt, dann ueberleg mal wie man beschreibt, was in `b` geschrieben wird
Nur jede dritte Zeile einlesen
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
- User
- Beiträge: 104
- Registriert: Mittwoch 24. Juni 2015, 14:12
- Wohnort: Bochum
Ha es hat geklappt.
Danke Leute für eure geduldige Hilfe und Erklärungen.
Im 2.Semester hatte ich Phyton im Studium, ich werde die Vorlesungen incl. Übungen nochmal durcharbeiten und dann darauf aufbauen.
Gruß und einen schönen Abend noch
Kai
Hier ist noch der fertige Code
Danke Leute für eure geduldige Hilfe und Erklärungen.
Im 2.Semester hatte ich Phyton im Studium, ich werde die Vorlesungen incl. Übungen nochmal durcharbeiten und dann darauf aufbauen.
Gruß und einen schönen Abend noch
Kai
Hier ist noch der fertige Code
Code: Alles auswählen
a=open("HALL_GES.txt","r")
b=open("HALL_GESB.txt","w")
for line in a:
c="D" in line
if c is True:
b.write(line)
b.close()
a.close()
Das kann man jetzt noch schöner schreiben.Kahnbein.Kai hat geschrieben:Code: Alles auswählen
c="D" in line if c is True: b.write(line)
Code: Alles auswählen
if "D" in line:
b.write(line)
- pillmuncher
- User
- Beiträge: 1485
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Übrigens heißt es Python, nicht Phyton.
In specifications, Murphy's Law supersedes Ohm's.
-
- User
- Beiträge: 185
- Registriert: Montag 12. Oktober 2015, 21:24
- Wohnort: Landsberg am Lech
- Kontaktdaten:
Hallo,
damit müsste es mit jeder dritten Zeile funktionieren:
MfG, kodela
damit müsste es mit jeder dritten Zeile funktionieren:
Code: Alles auswählen
fin = open('test_Q.txt', 'r')
fout = open('test_Z.txt', 'w')
z = -1
while 1:
zeile = fin.readline()
if zeile == "":
break
z += 1
if z % 3 == 0:
fout.write(zeile)
fin.close
fout.close()
Zuletzt geändert von kodela am Freitag 23. Oktober 2015, 15:25, insgesamt 1-mal geändert.
@kodela
Lies Dir den gesamten Thread mal durch, da sind bessere Lösungen dabei....
mutetella
Lies Dir den gesamten Thread mal durch, da sind bessere Lösungen dabei....
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
-
- User
- Beiträge: 185
- Registriert: Montag 12. Oktober 2015, 21:24
- Wohnort: Landsberg am Lech
- Kontaktdaten:
@mutetella
ja, ich habe mir schon alles durchgelesen, aber als blutiger Anfänger, der sich erst seit zwei Wochen mit Python beschäftigt, wusste ich nicht, dass zum Code von BlackJack noch eine Importanweisung gehört. Hätte er diese dazugeschrieben (from itertools import islice), dann hätte ich seinen Code erfolgreich testen können und mich nicht nach einer anderen Lösung bemühen müssen. Macht aber nichts, habe jetzt eben etwas dazu gelernt.
MfG, kodela
PS: Wie sieht es übrigens für den Code von BlackJack mit dem Schließen der Dateien aus?
ja, ich habe mir schon alles durchgelesen, aber als blutiger Anfänger, der sich erst seit zwei Wochen mit Python beschäftigt, wusste ich nicht, dass zum Code von BlackJack noch eine Importanweisung gehört. Hätte er diese dazugeschrieben (from itertools import islice), dann hätte ich seinen Code erfolgreich testen können und mich nicht nach einer anderen Lösung bemühen müssen. Macht aber nichts, habe jetzt eben etwas dazu gelernt.
MfG, kodela
PS: Wie sieht es übrigens für den Code von BlackJack mit dem Schließen der Dateien aus?
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Anders als bei dir, werden seine Dateien geschlossen In Zeile 11 fehlen Klammern und generell solltest du Dateien nicht explizit schliessen, sondern, wie bei BlackJack, das `with` Statement benutzen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
- User
- Beiträge: 185
- Registriert: Montag 12. Oktober 2015, 21:24
- Wohnort: Landsberg am Lech
- Kontaktdaten:
@mutetella
Die fehlenden Klammern habe ich bei mir schon entdeckt und hinzugefügt. Hier kann ich das leider nicht mehr machen.
Zum Schließen habe ich aber noch eine Frage. Ist es richtig, wenn ich aus Deinen Worten entnehme, dass immer dann, wenn eine Datei über das "with"-Statement geöffnet wird, die Datei automatisch geschlossen wird, sobald kein Zugriff mehr getätigt wird?
MfG, kodela
Die fehlenden Klammern habe ich bei mir schon entdeckt und hinzugefügt. Hier kann ich das leider nicht mehr machen.
Zum Schließen habe ich aber noch eine Frage. Ist es richtig, wenn ich aus Deinen Worten entnehme, dass immer dann, wenn eine Datei über das "with"-Statement geöffnet wird, die Datei automatisch geschlossen wird, sobald kein Zugriff mehr getätigt wird?
MfG, kodela
Zuletzt geändert von kodela am Freitag 23. Oktober 2015, 23:25, insgesamt 1-mal geändert.
@kodela: Sobald der Programmfluss den ``with``-Block verlässt — egal aus welchen Gründen.