Seite 1 von 1
An eine bestimmte Stelle im Python-Skript springen
Verfasst: Montag 29. Mai 2006, 08:05
von KiS
Hallo ihr.
Ich hab da mal ne Frage. Und zwar hab ich folgendes Programm:
Code: Alles auswählen
x=raw_input("Bitte gewünschten Port eingeben:")
print x
if x == 1:
c.execute("""UPDATE watchdog
SET Status = '0'
WHERE Port="""+x)
print 'ok'
else:
c.execute("""UPDATE watchdog
SET Status = '1'
WHERE Port="""+x)
print 'server down'
break
Ich möchte dann aber immer nach der else und nach der if anweisung wieder zur Port eingabe zurückspringen. Hab schon im Python-Forum gesucht aber nichts gefunden. Mit Continue geht das auch nicht denn wenn ich statt break continue schreibe dann bleicht das Programm immer in der else oder if-Schleife hängen.
Re: An eine bestimmte Stelle im Python-Skript springen
Verfasst: Montag 29. Mai 2006, 08:23
von gerold
KiS hat geschrieben:Mit Continue geht das auch nicht denn wenn ich statt break continue schreibe dann bleicht das Programm immer in der else oder if-Schleife hängen.
Hi KIS!
Es gibt keine IF-Schleife. Streiche doch bitte dieses Wort aus deinem Wortschatz. Es gibt in Python For-Schleifen und While-Schleifen. Beide kannst du mit "break" abbrechen um mit dem Code nach der Schleife fortzusetzen. Beide kannst du mit "continue" dazu auffordern, mit dem nächsten Schleifendurchlauf zu beginnen, ohne den Rest des Schleifenkörpers abzuarbeiten. Aber, es gibt keine If-Schleife.
Code: Alles auswählen
while True:
portstring = raw_input("Bitte gewünschten Port eingeben:")
print portstring
if portstring == "":
break
elif portstring == "1":
c.execute("""UPDATE watchdog
SET Status = '0'
WHERE Port=""" + portstring)
print 'ok'
else:
c.execute("""UPDATE watchdog
SET Status = '1'
WHERE Port=""" + portstring)
print 'server down'
mfg
Gerold

Verfasst: Montag 29. Mai 2006, 13:09
von KiS
Danke für die Hilfe erstmal ich werds dann gleich mal ausprobieren. Kann ich das selbe auch in Linux machen oder muss ich da dann irgendwas berücksichtigen?
Verfasst: Montag 29. Mai 2006, 13:47
von gerold
KiS hat geschrieben:Danke für die Hilfe erstmal ich werds dann gleich mal ausprobieren. Kann ich das selbe auch in Linux machen oder muss ich da dann irgendwas berücksichtigen?
HI KIS!
So ausgerüstet läuft es unter Linux und Windows gleichermaßen gut.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import sys
import codecs
# StdOut und StdErr umleiten -> Streamwriter mit korrektem Encoding
# (!!!funktioniert nicht im IDLE!!!)
out_encoding = sys.stdout.encoding or sys.getfilesystemencoding()
sys.stdout = codecs.getwriter(out_encoding)(sys.__stdout__)
while True:
portstring = raw_input(u"Bitte gewünschten Port eingeben:")
print portstring
if portstring == "":
break
elif portstring == "1":
c.execute("""UPDATE watchdog
SET Status = '0'
WHERE Port=""" + portstring)
print u'ok'
else:
c.execute("""UPDATE watchdog
SET Status = '1'
WHERE Port=""" + portstring)
print u'server down'
mfg
Gerold
