In txt Datei nach bestimmten Text suchen und Ausgeben
Du gibst ein Tupel als Dateiname an. Du musst schon einen einzelnen String der Form "Datei.Endung" angeben. Oder eben eine Variable, die einen solchen String enthaelt.
Und der Modus 'x' legt keine Datei an, sondern erzeugt ein io.TextIOWrapper-Objekt, in das du dann im Speicher die Daten ablegst. Willst du das?
Und der Modus 'x' legt keine Datei an, sondern erzeugt ein io.TextIOWrapper-Objekt, in das du dann im Speicher die Daten ablegst. Willst du das?
Wenn du in eine Datei schreiben möchtest, nimmst du den Modus 'w'. Siehe auch: https://docs.python.org/3/library/functions.html#open
C:/Users/chris/Desktop/Deepsky Datenbank/Objekte Das ist mein Pfad, aber am ende steht da immer:
c:/Users/chris/Desktop/Deepsky Datenbank/Deepsky Datenbank.py
Ich verstehs nicht.. Ich meine ich habe den Pfad ja richtig eingegeben oder?
c:/Users/chris/Desktop/Deepsky Datenbank/Deepsky Datenbank.py
Ich verstehs nicht.. Ich meine ich habe den Pfad ja richtig eingegeben oder?
Traceback (most recent call last):
File "c:/Users/chris/Desktop/Deepsky Datenbank/Deepsky Datenbank.py", line 14, in <module>
file = open (o, 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'Iris Nebel'
und bei mir steht:
path = "C:/Users/chris/Desktop/Objekte"
filename = (o)
file = open (o, 'r')
print (file.read)
(habe ich geschrieben)
File "c:/Users/chris/Desktop/Deepsky Datenbank/Deepsky Datenbank.py", line 14, in <module>
file = open (o, 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'Iris Nebel'
und bei mir steht:
path = "C:/Users/chris/Desktop/Objekte"
filename = (o)
file = open (o, 'r')
print (file.read)
(habe ich geschrieben)
- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@rennmaus: Das Thema ist ja eigentlich Text in einer Textdatei suchen und jetzt *schreibst* Du plötzlich Daten‽
Bei den Variablennamen ist `file` der einzige der passend ist. `filename` wird an ein Tupel gebunden und nirgends verwendet, hätte man sich also sparen können.
`z` wäre ein guter Name wenn es der Z-Anteil einer Koordinate wäre, aber sicher nicht für den „stem“-Teil eines Dateinamens.
`w`, `e`, `r`, und `t` sind schlechte Namen und da hilft auch nicht wirklich, das es zufällig in der Reihenfolge das Wort ”wert” ergeben würde.
Bei Textdateien sollte man beim öffnen immer explizit die Kodierung angeben. UTF-8 macht da in der Regel am meisten Sinn, es sei denn ein anderes, externes Programm erwartet da etwas anderes.
Das sieht immer noch nach Programmieren durch Raten aus, was nicht funktioniert. Wie kommst Du auf die Idee die `write()`-Methode würde man so aufrufen können?
Bei Textdateien sollte man ans Ende von Zeilen eine Zeilenendezeichen schreiben. Das müsste also in `t` enthalten sein‽
Wobei — falls das Werte durch ein Zeichen getrennt sein sollen, dann bastelt man sich da nichts selbst, sondern verwendet das CSV-Dateiformat, für das es in der Standardbibliothek das `csv`-Modul gibt. Da muss man dann auch auf das `newline`-Argument von `open()` achten. Siehe die Dokumenation vom `csv`-Modul.
Bei den Variablennamen ist `file` der einzige der passend ist. `filename` wird an ein Tupel gebunden und nirgends verwendet, hätte man sich also sparen können.
`z` wäre ein guter Name wenn es der Z-Anteil einer Koordinate wäre, aber sicher nicht für den „stem“-Teil eines Dateinamens.
`w`, `e`, `r`, und `t` sind schlechte Namen und da hilft auch nicht wirklich, das es zufällig in der Reihenfolge das Wort ”wert” ergeben würde.
Bei Textdateien sollte man beim öffnen immer explizit die Kodierung angeben. UTF-8 macht da in der Regel am meisten Sinn, es sei denn ein anderes, externes Programm erwartet da etwas anderes.
Das sieht immer noch nach Programmieren durch Raten aus, was nicht funktioniert. Wie kommst Du auf die Idee die `write()`-Methode würde man so aufrufen können?
Bei Textdateien sollte man ans Ende von Zeilen eine Zeilenendezeichen schreiben. Das müsste also in `t` enthalten sein‽
Wobei — falls das Werte durch ein Zeichen getrennt sein sollen, dann bastelt man sich da nichts selbst, sondern verwendet das CSV-Dateiformat, für das es in der Standardbibliothek das `csv`-Modul gibt. Da muss man dann auch auf das `newline`-Argument von `open()` achten. Siehe die Dokumenation vom `csv`-Modul.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari