global_teller = 0 def stopp(): # kalles for ? gj?re en pause i kj?ringa. Trykk 'enter' for ? fortsette. global global_teller # Jeg ?nsker faktisk ? endre den globale variabelen global_teller = global_teller + 1 input("\n"*2 + str(global_teller) + '> ') # argumentet blir en str print("\n"*5) # argumentet evaluerer til str def les_inn_fil_returner_liste(filnavn, skilletegn): liste = [] fil = open(filnavn) # fil peker n? p? et filobjekt for linje in fil: print(linje) #stopp() splittet_og_strippet = linje.strip().split(skilletegn) liste.append(splittet_og_strippet) print(liste) #stopp() return liste kommuneliste = les_inn_fil_returner_liste("kommuneinfo"+'.'+'txt', '\t') ''' [ '03\tOslo\t0301\tOslo\t0301\n' , '11\tRogaland\t1101\tEigersund\t1101\n' , '11\tRogaland\t1103\tStavanger\t1103\n' , '11\tRogaland\t1106\tHaugesund\t1106\n' , '11\tRogaland\t1108\tSandnes\t1108\n' , ''' ###### s? langt kom vi i forelesninga 23. februar ######### for kommune in kommuneliste: # Der fylket har flere navn, velger vi det f?rste (indeks 0) f?r streken '-' fylkesnavn = kommune[1] if ' - ' in fylkesnavn: # det er to forkjellige streker i kommuneinfo.txt ! fylkesnavn = fylkesnavn.split(' -' )[0] elif ' ¨C ' in fylkesnavn: fylkesnavn = fylkesnavn.split(' ¨C ')[0] # kommune[1] = fylkesnavn print(fylkesnavn) # Siden dette ogs? skal gj?res med kommunenavn, lager jeg en prosedyre/funksjon: def f?rste_str_f?r_strek(tekst): indeks0 = tekst if ' - ' in tekst: # det er to forkjellige streker i kommuneinfo.txt ! indeks0 = tekst.split(' - ' )[0] elif ' ¨C ' in tekst: indeks0 = tekst.split(' ¨C ')[0] return indeks0 for liste in kommuneliste: # Der fylket har flere navn, velger vi det f?rste (indeks 0) f?r streken '-' fylkesnavn = liste[1] kommunenavn = liste[3] fylkesnavn = f?rste_str_f?r_strek(fylkesnavn) kommunenavn = f?rste_str_f?r_strek(kommunenavn) liste[1] = fylkesnavn # Oppdaterer den indre lista med ev. forenkla navn liste[3] = kommunenavn print(kommuneliste) # for ? lage ny utfil lager vi den 'omvendte' funksjonen def skriv_fil_fra_liste_av_lister(liste_av_lister, skilletegn, filnavn): fil = open(filnavn, "w") # fil for skriving ?pnes med 2. argument 'w' # fil peker n? p? et (tomt) filobjekt som vi kan skrive til med fil.write() for liste in liste_av_lister: # print(liste) under uttesting linje = '' for tekststreng in liste: linje = linje + tekststreng + skilletegn # her er det kommet et skilletegn 'for mye' linje = linje[0:len(linje)-1] # tar bort siste tegn linje = linje + '\n' fil.write(linje) # print([linje]) # sjekker at linja er som den skal # stopp() fil.close() # det er god skikk og lukka fila skriv_fil_fra_liste_av_lister(kommuneliste, '\t', "ny_kommuneinfo.txt") # Ved ? skrive til fil bevarer vi det vi har gjort og kan bruke den nye fila nesate gang