Freitag, 22. Oktober 2010

 

newprog.py - erzeugen eines Programmgerüsts (POS1: 2AHIF, 2CHIF)

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
"""

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 Standardvrogabedatei verwendet:

~/work/tmp > python newprog.py meinNeuesProgramm.py
~/work/tmp >

Für die Programmargumente betrachten Sie folgendes Beispiel, welches die Argumente einfach untereinander ausgibt:

"""
author: Maier Maria
matnr:  d84123
file:   argtest.py
desc:   Demo der Argumente an das Programm von der Kommandozeile.
date:   2010-10-22
class:  5AHDVK
catnr:  23
"""
from sys import argv
for arg in argv:
    print arg

Ausgabe bei Aufruf von python argtest.py hallo du da:

argtest.py
hallo
du
da

Das heißt, argv[0] enthält den Programmnamen.

Labels: , ,


Kommentare:
Abgabe: Projektname (Verzeichnis) 2a-name-python-newprog (2AHIF) bzw. 2c-name-python-newprog (2CHIF). "name" ist Ihr Familienname.
 

Kommentar veröffentlichen

Abonnieren Kommentare zum Post [Atom]





<< Startseite

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

Abonnieren Posts [Atom]