Problem mit While-Schleife in Python

wunderschönen sonnigen Freitag Morgen,
also mein Problem ist Folgendes:
ich möchte aus einer Datei eine Gewisse Zeile lesen. Da ich dasselbe für die andere Datei brauche (aber dort nur einen Einzigen Buchstaben der Datei) komm ich gleich zum Problem

hier mein Code:

#!/bin/bash
#!/bin/sh
import time
import os
from time import \*
lt = localtime()
print strftime("%d.%m.%Y", lt)

while 1:
 datei = open ("test.ini","r")
 Zeile = datei.readlines()
 host=Zeile[1].strip().split(" ")[1]
 datei.close()
break

if host

mein break soll ausserhalb der schleife sein, Wenn ich host per print ausgebe kommt die zahl immer wieder das heisst meine if-funktion wird gar nicht erst ausgelöst. Könnte mir jemand sagen was ich falsch gemacht hab? das wär echt lieb von euch vielen Dank für alle Antworten :smile:.

lg Bluecrystal21


_[MOD] 

    -Tags um den Code herum eingefuegt. Python ist ohne Leerzeichen nicht lesbar. Bitte in Zukunft selbst machen._ 

Hallo,

#!/bin/bash
#!/bin/sh

Wieso benutzt du zwei verschiedene Shell shebang lines, wenn dein Code in python ist?

while 1:
datei = open („test.ini“,„r“)
Zeile = datei.readlines()
host=Zeile[1].strip().split(" ")[1]
datei.close()
break

mein break soll ausserhalb der schleife sein

Ist es auch, wird also nur ausgefuehrt, nachdem die Schleife zuende durchgelaufen ist. Und weil du ‚while 1‘ geschrieben hast, laeuft sie endlos.

Also ueberlege dir, unter welchen Bedingungen du die Schleife verlassen willst, und schreibe das dann als Bedingung nach dem ‚while‘.

Gruesse,
Moritz

while 1:
datei = open („test.ini“,„r“)
Zeile = datei.readlines()
host=Zeile[1].strip().split(" ")[1]
datei.close()
break

Hallo,

das Hauptproblem, das ich mit dieser While-Schleife habe: was soll sich denn je nach Schleifendurchlauf ändern?

break

außerhalb von Schleifen ist auch recht sinnarm, da es ja zum Vorzeitigen verlassen einer Schleife dient…
Ich würde die Zeilen mit while und break löschen und den Schleifeninhalt ausrücken.
PS: „while 1“ stammt aus uralten Zeiten, inzwischen darf man „while True“ schreiben.
PPS: readlines liest die komplette Datei in eine Listen-Variable; falls test.ini je eine ausgewachsene Logdatei werden könnte, würde ich aus es aus Effizienzgründen gezielt durch zwei readline-Befehle ersetzen.

Grüße, guidot