Seite 1 von 1
if irgendwas==1234: f.wirte "irgenwas" geht nicht
Verfasst: Dienstag 5. Februar 2008, 14:02
von Krauzi
Hallo, wieso geht das nicht:
f = file("C:/test.txt", "r")
txt = f.read()
f.close
print txt
if txt==1: f.wirte ("unlockvlv")
Re: if irgendwas==1234: f.wirte "irgenwas" geht ni
Verfasst: Dienstag 5. Februar 2008, 14:05
von Craven
Krauzi hat geschrieben:Code: Alles auswählen
f = file("C:/test.txt", "r")
txt = f.read()
f.close
print txt
if txt==1: f.wirte ("unlockvlv")
1. Der Pfad stimmt nicht: C:\\test.txt
2. Du kannst nichts mehr in f schreiben, da du es ja geschlossen hast: f.close()
3. Es müsste f.write("unlockvlv") heißen.

Verfasst: Dienstag 5. Februar 2008, 14:07
von HWK
Um in eine Datei zu schreiben (f.wirte?), muss sie ja zum Schreiben geöffnet sein.
MfG
HWK
Re: if irgendwas==1234: f.wirte "irgenwas" geht ni
Verfasst: Dienstag 5. Februar 2008, 14:09
von BlackVivi
Craven hat geschrieben:1. Der Pfad stimmt nicht: C:\\test.txt
Das ist jedoch egal.
Code: Alles auswählen
>>> fl = file("d:/text.txt", "w")
>>> fl.write("bla")
>>> fl.close()
>>> fl = file("d:/text.txt")
>>> fl.read()
'bla'
>>> fl.close()
Ob Windows oder Linux ist dabei schnurz :3
Achja...
Miau
Verfasst: Dienstag 5. Februar 2008, 14:13
von BlackJack
Und `read()` liefert den Inhalt der Datei als Zeichenkette. Die mit der Zahl 1 zu vergleichen ist immer `False`.
Verfasst: Dienstag 5. Februar 2008, 14:15
von schlangenbeschwörer
4. gibt read einen String zurück, demnach wird txt nie eine Zahl sein, höchstens "1".
Verfasst: Dienstag 5. Februar 2008, 21:10
von Krauzi
hm also erst mal danke für die antworten. Bringen mich zumindes schon ein bisschen weiter. Jetzt kommt noch ne frage, die ich nicht stellen müsste, könnte ich mich endlich zum kauf eines python buches überreden (aber da gibts so viele schlechte.....):
Ich will wie ihr ja schon bemerkt hab, einen wert aus einer datei auslesen. Je nach Zahl des Wertes wird dann in eine bestimmte datei etwas geschrieben.
Kann mir hier vllt jemand einen konkreten python beispiel code geben?
Noch was: beim post von BlackVivi steht:
fl.read()
'bla'
-> was macht das 'bla'? Bzw. was genau bewirkt file.read(). Ich dachte, dass liest die gesamte datei aus (deshalb möchte ich wissen, was das 'bla' unter file.read() macht).
MfG Krauzi
Verfasst: Dienstag 5. Februar 2008, 21:45
von Craven
Krauzi hat geschrieben:Noch was: beim post von BlackVivi steht:
fl.read()
'bla'
-> was macht das 'bla'? Bzw. was genau bewirkt file.read(). Ich dachte, dass liest die gesamte datei aus (deshalb möchte ich wissen, was das 'bla' unter file.read() macht).
Code: Alles auswählen
>>> fl.read()
'bla' #'bla' wird von fl.read() ausgegeben
BlackVivi hat seinen Code in der Konsole ausgeführt, deswegen wird der String direkt unter den Befehl geschrieben.
Wenn Du das gelesene allerdings einer Variable zuweist, wird es nicht ausgegeben:
Code: Alles auswählen
der_text = fl.read()
print der_text #hier wird 'bla' durch print ausgegeben
Edit: Du musst dir nicht unbedingt ein Pythonbuch kaufen, es gibt genügend Ebooks, z.B. hier:
http://www.freebookzone.com/lookup.php? ... d=fbz-home