archi_ecriture~20171217-165537.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #importez module
  4. import random
  5. #déclarez une liste
  6. diff_words = []
  7. #déclarez un nouveau dictionnaire
  8. aleatoire = {}
  9. #Créez un dictionnaire
  10. permutations = {
  11. 'ff' : 'ph' ,
  12. 'qu' : 'kh' ,
  13. 'ss' : 'ç' ,
  14. 'ch' : 'sh' ,
  15. 'il' : 'yl' ,
  16. 'ain' : 'un' ,
  17. 'li' : 'ly' ,
  18. 'ô' : 'au' ,
  19. 'ai' : 'è' ,
  20. }
  21. #Ouvrir un texte comme matériau brut
  22. with open("texte_source.txt", "r", encoding="ISO-8859-1") as source:
  23. # lire chaque ligne
  24. for line in source:
  25. # séparer la ligne en liste de mots
  26. words = line.split(" ")
  27. # pour chaque mot de la liste de mots
  28. for word in words:
  29. # pour chaque élément dans le dictionnaire
  30. for key, value in permutations.items():
  31. # vérifier si les clefs du dictionnaire "permutations" figurent dans les mots de la liste
  32. if key in word:
  33. # rajouter les clefs et les valeurs dans le dictionnaire "aleatoire"
  34. aleatoire[key] = value
  35. # si il y a des changements il y a donc un dictionnaire
  36. if aleatoire:
  37. # transformer le dictionnaire "aleatoire" en liste pour pouvoir aller indexer
  38. liste = list(aleatoire.items())
  39. print(liste)
  40. # choisir aléatoirement une des permutations de la liste à appliquer au mot
  41. result = random.choice(liste)
  42. print("choix aleatoire" , result)
  43. # remplacer la clef par sa valeur dans le dictionnaire
  44. newword = word.replace(result[0], result[1])
  45. print("remplacement", newword)
  46. # rajoutez le mot à la liste nouvelle
  47. diff_words.append(newword)
  48. else:
  49. diff_words.append(word)
  50. aleatoire.clear()
  51. # écrire la nouvelle liste comme chaîne de caractères dans un fichier texte
  52. with open("texte_dest.txt", "w", encoding = "utf-8") as destination:
  53. destination.write(' '.join(diff_words))