Kapitel 14
Systemfunktionen
426
14.3.5 Einen Prozess unterbrechen mit sleep()
Die Funktion sleep() unterbricht die Ausführung des Programms für die im Argument
angegebene Anzahl von Sekunden. Das Programm wird gewissermaßen »schlafen gelegt«
und zu gegebener Zeit wieder »geweckt«. Das folgende Skript realisiert eine kleine Uhr. Im
Sekundenabstand wird die aktuelle Lokalzeit auf den Bildschirm gebracht. Dazu wird der
24-Zeichen-String, den
ctime() liefert, in Wörter zerteilt (Trennsymbol ist das Leerzeichen)
und das vierte Wort ausgegeben (
#1).
Programmlauf:
14.4 Aufgaben
Aufgabe 1
Schreiben Sie ein Python-Skript, das Name und Vorname einer Person abfragt und dann im
Verzeichnis
/python/projekt/user/ für die Person ein Verzeichnis anlegt. Der Verzeich-
nisname setzt sich aus den ersten sechs Buchstaben des Vornamens und den ersten beiden
Buchstaben des Nachnamens zusammen.
Aufgabe 2
Programmieren Sie einen Suchroboter. Der Benutzer wird nach einem Wort und einem
Wurzelverzeichnis gefragt. Dann durchsucht das Programm den gesamten Verzeichnis-
baum. Zu allen gefundenen Dateien, in denen der Begriff vorkommt, merkt es sich den
Pfad und die Anzahl der Vorkommen des Suchbegriffs. Das Programm gibt eine Tabelle
aus, in der die Dateien (Pfade) und Anzahl der Vorkommen des Suchbegriffs aufgeführt
sind. Die Tabelle ist in der Weise sortiert, dass zuerst die Dateien genannt werden, in der der
Suchbegriff am häufigsten vorkommt. Beachten Sie, dass manche Dateien (Binärdateien)
Laufzeitfehler verursachen, wenn man versucht sie wie eine Textdatei zu lesen.
>>> time.asctime(time.localtime()) # Lokalzeit
'Sat Oct 03 14:06:27 2009'
>>> time.asctime(time.gmtime()) # UTC
'Sat Oct 03 12:07:50 2009'
from time import ctime, sleep
for i in range(5):
print(ctime().split()[3]) #1
sleep(1) # eine Sekunde schlafen
21:27:07
21:27:08
21:27:09
21:27:10
21:27:11
427
14.4
Aufgaben
Beispieldialog:
Aufgabe 3
Entwickeln Sie ein interaktives, objektorientiertes Programm, das alle Dateien auflistet,
die sich in einem bestimmten Verzeichnisbaum befinden und
die in der letzten Zeit verändert worden sind.
Zunächst wird der Benutzer nach einem Wurzelverzeichnis und einem Zeitintervall gefragt.
Ausgegeben wird dann eine Aufstellung der gefundenen Dateien wie im nachfolgenden
Beispieldialog. Hinweis: Verwenden Sie die Funktion
os.walk().
Beispieldialog:
Suchwort: robot
Wurzelverzeichnis: /Python35
Suchbericht
-----------
Suchbegriff: robot
Wurzel des Verzeichnisbaums: /Python35
\python35\lib\site-packages\pkg_resources\_vendor\six.py (19 Vorkommen )
\python35\lib\site-packages\pip\_vendor\six.py (19 Vorkommen )
\python35\lib\test\test_robotparser.py (17 Vorkommen )
\python35\lib\urllib\robotparser.py (13 Vorkommen )
\python35\lib\site-
packages\pip\_vendor\requests\packages\urllib3\packages\six.py (3
Vorkommen )
\python35\lib\test\test_email\test_message.py (2 Vorkommen )
\python35\lib\lib2to3\fixes\fix_imports.py (2 Vorkommen )
\python35\lib\lib2to3\fixes\__pycache__\fix_imports.cpython-35.pyc (2
Vorkommen )
...
Es wurden 8573 Dateien durchsucht.
3342 Dateien waren nicht lesbar.
Wurzel des Verzeichnisbaums: /projekt
Zeitintervall (Stunden): 2
Datei und Zeitpunkt der letzten Änderung:
\projekt\daten\bank.txt Mon Oct 05 18:11:36 2009
\projekt\daten\daten.txt Mon Oct 05 19:16:01 2009
\projekt\daten\gold.txt Mon Oct 05 19:16:10 2009
\projekt\daten\daten2010\august.txt Mon Oct 05 19:15:16 2009

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.