redux_fichier2.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env python
  2. # coding: utf8
  3. #pour installer nltk stopWords tout est là : http://www.nltk.org/data.html
  4. import re
  5. from nltk.tokenize import sent_tokenize, word_tokenize
  6. from nltk.corpus import stopwords
  7. with open("mirabeau.txt", "r") as source:
  8. texte = source.read()
  9. #print("texte or", texte)
  10. #enlever les traits d'union et les apostrophes
  11. texte = texte.replace("'", " ")
  12. texte = texte.replace("-", " ")
  13. #print(texte)
  14. liste_phrase = texte.lower().split(" ")
  15. #print("liste des mots originaux séparés:", liste_phrase)
  16. liste_reduit = []
  17. #liste_phrase = str.lower(texte)
  18. stopWords = set(stopwords.words('french'))
  19. for w in liste_phrase:
  20. if w not in stopWords:
  21. print("no stopword", w)
  22. liste_reduit.append(w)
  23. print("liste des mots réduite :", liste_reduit)
  24. #ré-introduire les majuscules en debut de vers
  25. for i in range( len ( liste_reduit ) ):
  26. mot_split = liste_reduit[i].split("\n")
  27. #print("mot_split", mot_split)
  28. if ( len(mot_split) == 2):
  29. mot_split[1] = mot_split[1].capitalize()
  30. liste_reduit[i] = mot_split[0] + "\n" + mot_split[1]
  31. if ( i > 0 and liste_reduit[i-1] == '' ):
  32. liste_reduit[i] = liste_reduit[i].capitalize()
  33. #if (elt.endswith("\n") and elt != " " ):
  34. #mot = elt.capitalize()
  35. poeme_reduit = " ".join(liste_reduit)
  36. print("version réduite du poeme :", poeme_reduit)
  37. with open("mirabeau_reduit.txt", "w") as destination :
  38. destination.write(" ".join(liste_reduit))