Generere Python-kode fra CSV

Introduksjon

I denne oppgaven skal dere lage et Python-program, csvgen.py, som leser en CSV-fil med beskrivelser av prosedyrer, og genererer en ferdig .py-fil med disse funksjonene automatisk. Før du begynner, last ned de tre csv-filene test.csv, biblioteker.csv og hemmelig.csv og lagre dem i mappa for uke 6.

Format på CSV-filen

Hver linje er felter separert med ; (hvorfor ikke komma?).

Den første linjen starter med ordet biblioteker og lister eventuelle moduler som skal importeres i den genererte filen:

biblioteker;random;math

De påfølgende linjene beskriver én funksjon hver, på formen:

navn;beskrivelse;parameter1;parameter2;...;returuttrykk

Eksempel (test.csv):

biblioteker;
pluss;legger sammen to tall;a;b;a + b
minus;trekker ett tall fra et annet;a;b;a-b

Hva programmet skal gjøre

  1. Åpne CSV-filen og les den linje for linje.
  2. Les importene fra første linje og skriv dem øverst i output-filen. I test.csv er det ingen biblioteker, så dere kan eventuelt fjerne den delen å implementere dette senere.
  3. For hver av de resterende linjene: del opp på ;, og generér en funksjon med riktig navn, parametere og en docstring basert på beskrivelsen. Siste felt er selve returuttrykket.
  4. Skriv resultatet til en ny .py-fil.

Eksempel på generert kode fra linjen over:

def pluss(a,b):
    """
    legger sammen to tall
    """
    return a + b

Tips

Utvidelser (frivillig, for de som blir ferdig tidlig)