MatteB_01

desueto

Feb 13th, 2021
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.81 KB | None | 0 0
  1. def main():
  2.     INPUT = "testo.txt"
  3.     OBSOLETE = "obsoleto.txt"
  4.     OUTPUT = "nuovotesto.txt"
  5.  
  6.  
  7.     try:
  8.         with open(OBSOLETE, "r", encoding="utf-8") as file:
  9.             obsolete = {}
  10.             for line in file:
  11.                 line.strip().split(" ")
  12.                 obsolete[line[0]] = line[1]
  13.     except IOError:
  14.         print("il file contenente le parole obsolete non è presente o il suo nome è errato")
  15.  
  16.  
  17.     try:
  18.         with open(INPUT, "r", encoding="utf-8") as file:
  19.             testo = []
  20.             for line in file:
  21.                 testo.append(line.strip())
  22.     except IOError:
  23.         print("il file contenente il testo non è presente o il suo nome è errato")
  24.  
  25.  
  26.  
  27.  
  28.     totParole, numObsolete = conteggio(testo, obsolete)
  29.  
  30.     print(f"il numero di parole presenti nel testo è {totParole}")
  31.     for parola in numObsolete.keys():
  32.         print(f"{parola}: {numObsolete[parola]}")
  33.  
  34.  
  35.  
  36.  
  37.     nuovoTesto = sostituzione(testo, obsolete)
  38.  
  39.     with open(OUTPUT, "w", encoding="utf-8") as file:
  40.         for riga in nuovoTesto:
  41.             file.write(f"{riga}\n")
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51. def conteggio(testo, obsolete):
  52.     counter = 0
  53.     numObsolete = {}
  54.  
  55.     for vocabolo in obsolete.keys():
  56.         numObsolete[vocabolo] = 0
  57.  
  58.     for line in testo:
  59.         parole = line.split(" ")
  60.         counter += len(parole)
  61.         for parola in parole:
  62.             if parola in numObsolete.keys():
  63.                 numObsolete[parola] += 1
  64.     return counter, numObsolete
  65.  
  66.  
  67.  
  68. def sostituzione(testo, obsolete):
  69.     nuovoTesto = []
  70.     for line in testo:
  71.         parole = line.split(" ")
  72.  
  73.         for i in range(len(parole)):
  74.             if parole[i] in obsolete.keys():
  75.                 parole[i] = obsolete[parole[i]]
  76.  
  77.         nuovoTesto.append(parole)
  78.  
  79.     return nuovoTesto
  80.  
  81.  
Advertisement
Add Comment
Please, Sign In to add comment