[Python-de] Warten auf user-input, aber nicht zu lange

Ulrich Goebel ml at fam-goebel.de
Di Apr 26 06:09:47 EDT 2016


Hallo,

ich möchte eine Schleife schreiben, die alle 10 Minuten - oder auf 
Tastendruck - eine Routine aufruft. Das mit den 10 Minuten ist kein 
Problem: dafür habe ich eine Funktion Pause(Minuten) geschrieben, die im 
Sekundentakt die Zeit runterzählt und ausgibt:


import os, sys, codecs
import time

def Pause(Minuten):
   print
   print ("Wir machen %d Minute(n) Pause:" % Minuten)
   for m in range(Minuten-1, -1, -1):
     for s in range(59, -1, -1):
       Rest = str(m) + ':' + str(s)
       print Rest, '\r',
       sys.stdout.flush()
       time.sleep(1)

Dauer = 10

while True:
   os.system('./Erledigen.py')
   Pause(Dauer)



Nun möchte ich aber in Ausnahmefällen die Pause durch die Eingabe von 
ENTER unterbrechen können, damit der nächste Aufruf von Erledigen.py 
sofort erfolgt. Also etwa so:


def Pause(Minuten):
   print
   print ("Wir machen %d Minute(n) Pause:" % Minuten)
   for m in range(Minuten-1, -1, -1):
     for s in range(59, -1, -1):
       Rest = str(m) + ':' + str(s)
       print 'Weiter mit ENTER', Rest, '\r',
       sys.stdout.flush()
       if ENTER_gerdrueckt():
         return('ENTER gedrueckt')
       time.sleep(1)


Wie schreibt man eine solche Funktion ENTER_gedrueckt()?

Mit Dank und Gruß
Ulrich

-- 
Ulrich Goebel
Paracelsusstr. 120, 53177 Bonn


Mehr Informationen über die Mailingliste python-de