rendered paste bodyimport 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()