Montag, 22. Oktober 2012
Aufgabe newprog.py (POS1: 2BHIF)
Neue Programmdateien haben im Allgemeinen eine ziemlich fixe (Anfangs-)Struktur. So wird immer ein Programmkopf (Kommentar) benötigt, der den Namen des Autors und andere Informationen enthält. Für Python sieht das z.B. so aus:
""" author: Maier Maria matnr: d84123 file: newprog.py desc: Erstellen eines Programmgerüsts aus einer Vorlage. date: 2010-10-22 class: 5AHDVK catnr: 23 """
Schreiben Sie ein Pythonprogramm newprog.py
, welches aus einer Vorgabedatei so ein Programmgerüst erzeugt. In dieser Vorgabedatei gibt es Wörter, die dann von newprog.py
durch die entsprechenden Werte ersetzt werden. Obiges Gerüst ist aus folgender Vorgabedatei entstanden:
""" author: AUTOR matnr: EVIDENZNUMMER file: DATEINAME desc: ZWECK date: DATUM class: KLASSE catnr: KATALOGNUMMER """ if __name__ == '__main__': pass
Für die Ersetzungen soll ein Dictionary verwendet werden, z.B.:
ersetzungen = { "DATEINAME": progname, "ZWECK": zweck, "DATUM": datum, "AUTOR": "Maier Maria", "KATALOGNUMMER": "23", "EVIDENZNUMMER": "d84123", "KLASSE": "5AHDVK" }
progname
, zweck
, datum
müssen natürlich vorher bestimmt werden (eingegeben).
Zur Bestimmung des Datums verwenden Sie strftime()
:
from time import strftime datum = strftime("%F")
strftime()
kennt verschiedenste Formatangaben und liefert die aktuelle Uhrzeit bzw. Datum formatiert zurück. Hilfe mit help(strftime)
in Python bzw. man strftime
von der Shell (liefert die Beschreibung der C-Funktion, aber die Formatangaben gelten auch für Python).
Die Vorgabedatei und der Name der zu erzeugenden Datei sind auf der Kommandozeile anzugeben, z.B.:
~/work/tmp > python newprog.py vorgabe.py meinNeuesProgramm.py ~/work/tmp >
Wird keine Vorgabedatei angegeben, so wird eine Standardvorgabedatei verwendet:
~/work/tmp > python newprog.py meinNeuesProgramm.py ~/work/tmp >
Falls meinNeuesProgramm.py
schon existiert, dann darf diese Datei nicht überschrieben werden:
~/work/tmp > python newprog.py meinNeuesProgramm.py 'meinNeuesProgramm.py' already exists! ~/work/tmp >
Sie können dazu folgende Funktion verwenden (Aufrufbeispiel im Home-Verzeichnis):
>>> from os.path import exists >>> exists(".bashrc") True >>> exists(".bashrc__") False >>>
Labels: Aufgabe, POS1-2, Python
Abonnieren Posts [Atom]
Kommentar veröffentlichen