Advertisement
nicuf

test

Nov 18th, 2021
465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. import os
  2. import sys
  3. import re
  4.  
  5.  
  6. def read_text_from_file(file_path):
  7. """
  8. Aceasta functie returneaza continutul unui fisier.
  9. file_path: calea catre fisierul din care vrei sa citesti
  10. """
  11. with open(file_path, 'r') as f:
  12. #with open(file_path, 'r', encoding='UTF-8') as file:
  13. text = f.read()
  14. return text
  15.  
  16.  
  17. def write_to_file(text, file_path):
  18. """
  19. Aceasta functie scrie un text intr-un fisier.
  20. text: textul pe care vrei sa il scrii
  21. file_path: calea catre fisierul in care vrei sa scrii
  22. """
  23. with open(file_path, 'w') as f:
  24. f.write(text)
  25.  
  26.  
  27. if __name__ == '__main__':
  28. # setezi fisierul din care vrei sa citesti textul
  29. file_path = 'c:\Folder1\bebe.txt'
  30. # citesti textul din fisier
  31. text = read_text_from_file(file_path)
  32. # aici e pattern-ul pentru expresia regex; (.*?) inseamna ca preia tot ce este intre tag-uri
  33. pattern = re.compile('<p class=\".*?\">(.*?)</p>')
  34. # aici se face match - se cauta potriviri in text cu pattern-ul dat
  35. m = pattern.match(text)
  36. # se salveaza textul dintre tag-uri in variabila text_tag; group(1) inseamna ca se ia primul grup gasit in text
  37. # in cazul nostru (.*?) este primul grup gasit
  38. # group(0) este tot textul
  39. text_tag = str(m.group(1))
  40. # strip taie toate spatiile de la inceputul si finalul text-ului
  41. new_text = text_tag.strip()
  42. # facem split la text dupa spatiu si apoi unim cuvintele gasite printr-un singur spatiu
  43. new_text = " ".join(new_text.split())
  44. # textul nou va fi textul initial, dar care are textul dintre tag-uri inlocuit cu textul prelucrat
  45. text = text.replace(text_tag, new_text)
  46. # la final suprascriem continutul initial al fisierului cu noul continut
  47. write_to_file(text, file_path)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement