Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Tällä voi verrata kahta eri tiedostolistausta keskenään. Hidas kuin mikä. Tarkoitettu MBnetin tiedostolistan vertailuun.
- def lue_tiedosto(tiedostonimi):
- with open(tiedostonimi, "r", encoding="utf-8") as tiedosto:
- return tiedosto.readlines()
- def hae_tiedostonimi(rivi):
- tiedostonimi = ""
- osat = rivi.split()
- for sana in osat:
- if '.' in sana and len(sana) > 4 and len(sana) <= 15 and len(sana.split('.')[-1]) >= 3: # Tarkistetaan, sisältääkö sana pisteen ja kolme muuta merkkiä sen jälkeen
- tiedostonimi = sana
- break
- # Poistetaan heittomerkit
- return tiedostonimi.strip(",").strip("'").strip('"').lower()
- def laske_tiedostojen_lukumaara(lista):
- return len([tiedosto for tiedosto in lista if hae_tiedostonimi(tiedosto) != ""])
- def etsi_yhteiset_ja_epayhteiset_tiedostot(lista1, lista2):
- yhteiset = []
- hutit = []
- for tiedosto2 in lista2:
- nimi2 = hae_tiedostonimi(tiedosto2)
- loytyi = False
- for tiedosto1 in lista1:
- nimi1 = hae_tiedostonimi(tiedosto1)
- if nimi1 == nimi2 and nimi1 != "" and nimi2 != "":
- yhteiset.append(nimi1)
- loytyi = True
- break
- if not loytyi and nimi2 != "":
- hutit.append(nimi2)
- return yhteiset, hutit
- if __name__ == "__main__":
- print("Työstää.. \n")
- #tiedosto1 = "mbnet_files_09-01-2005.txt"
- #tiedosto1 = "mbnet_files_09-01-2005_dos.txt"
- tiedosto1 = "mbfiles_1996_utf-8_2.txt"
- #tiedosto1 = "mbfiles_1996_dos.txt"
- tiedosto2 = "94-95-96.txt"
- lista1 = lue_tiedosto(tiedosto1)
- lista2 = lue_tiedosto(tiedosto2)
- lukumaara1 = laske_tiedostojen_lukumaara(lista1)
- lukumaara2 = laske_tiedostojen_lukumaara(lista2)
- yhteiset_tiedostot, hutit = etsi_yhteiset_ja_epayhteiset_tiedostot(lista1, lista2)
- #print("Yhteiset tiedostot:")
- #for tiedosto in yhteiset_tiedostot:
- # print(tiedosto)
- #print("Hutit:")
- #for tiedosto in hutit:
- # print(tiedosto)
- with open("osumat.txt", "w", encoding="utf-8") as yhteiset_tiedostot_tiedosto:
- for tiedosto in yhteiset_tiedostot:
- yhteiset_tiedostot_tiedosto.write(tiedosto)
- yhteiset_tiedostot_tiedosto.write('\n')
- with open("hutit.txt", "w", encoding="utf-8") as hutit_tiedosto:
- for tiedosto in hutit:
- hutit_tiedosto.write(tiedosto)
- hutit_tiedosto.write('\n')
- print(f"Tiedostoja {tiedosto1}:ssa: {laske_tiedostojen_lukumaara(lista1)}")
- print(f"Tiedostoja {tiedosto2}:ssä: {laske_tiedostojen_lukumaara(lista2)}")
- print(f"Löydetyt yhteensä: {len(yhteiset_tiedostot)}, tallennettu tiedostoon osumat.txt")
- print(f"Hutit yhteensä: {len(hutit)}, tallennettu tiedostoon hutit.txt")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement