Freitag, 11. Oktober 2013

 

Aufgabe newprog.py (POS1: 2BHIF)

Abgabename: 2013_2bhif_aufgabe4_name_vorname.tgz

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: , ,


Kommentare:

Kommentar veröffentlichen

Abonnieren Kommentare zum Post [Atom]





<< Startseite

This page is powered by Blogger. Isn't yours?

Abonnieren Posts [Atom]