import sys numerolista = [] listaa = [] for filename in sys.argv[1:}: tiedosto = open(filename) sisalto = tiedosto.readlines() listaa.extend(sisalto) tiedosto.close() def log_error(error, line): tied1 = open("virhe.txt", "a") tied1.write(error) tied1.write(line) tied1.close() def nrovirhe(): log_error("Virheellinen numero: ", rivi) def nimivirhe(): log_error("Virheellinen nimi: ", rivi) def final(): rivi2 = numero2+";"+etunimi+";"+sukunimi+";\n" numerolista.append(numero2) if numerolista.count(numero2)==2: tied2 = open("identtinen.txt", "a") tied2.write(rivi2) tied2.close() elif numerolista.count(numero2)>2: pass else: tied3 = open("tulos.txt", "a") tied3.write(rivi2) tied3.close() def jarj1(): list1 = [] tied11 = open("virhe.txt", "r") list1 = tied11.readlines() list1.sort() tied11.close() tied11 = open("virhe.txt", "w") tied11.writelines(list1) tied11.close() def jarj2(): list2 = [] tied22 = open("tulos.txt", "r") t = tied22.read() list2 = t.split("\n") list2.sort() tied22.close() tied22 = open("tulos.txt", "w") for t in list2: tied22.write(t) tied22.write("\n") tied22.close() def jarj3(): list3 = [] tied33 = open("identtinen.txt", "r") u = tied33.read() list3 = u.split("\n") list3.sort() tied33.close() tied33 = open("identtinen.txt", "w") for u in list3: tied33.write(u) tied33.write("\n") tied33.close() def lukija(): global rivi global numero2 global etunimi global sukunimi rivi = listaa.pop() if rivi: numero, etunimi, sukunimi, rv = rivi.split(";") numero2 = numero.replace(" ","") numero2 = numero2.replace("-","") if numero2[0]=="0": if numero2[1]=="0": nrovirhe() else: if len(numero2) in range (5,11): if len(etunimi) in range(3,21): if len(sukunimi) in range(3,21): numero3 = numero2[1:] numero2 = "+358"+numero3 final() else: nimivirhe() else: nimivirhe() else: nrovirhe() elif numero2[0:4]=="+358": if len(numero2) in range (8,14): if len(etunimi) in range(3,21): if len(sukunimi) in range(3,21): final() else: nimivirhe() else: nimivirhe() else: nrovirhe() else: nrovirhe() if __name__ == "__main__": lukija() jarj1() jarj2() jarj3()