Advertisement
nicuf

copy text files into the body of html files

Jan 24th, 2022 (edited)
902
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #-------------------------------------------------------------------------------
  2. # Author:      Neculai Fantanaru Ioan
  3. #
  4. # Created:     22/01/2022
  5. # Copyright:   (c) Neculai Fantanaru Ioan
  6.  
  7. EXPLANATION:
  8.  
  9. ROMANIAN: https://neculaifantanaru.com/python-copiaza-continutul-fisierelor-text-in-corpul-fisierelor-html.html
  10. ENGLISH:  https://neculaifantanaru.com/en/python-copy-the-contents-of-text-files-in-the-body-of-html-files.html
  11. #-------------------------------------------------------------------------------
  12.  
  13. import os
  14. import re
  15.  
  16. def read_text_from_file(file_path):
  17.     """
  18.    Aceasta functie returneaza continutul unui fisier.
  19.    file_path: calea catre fisierul din care vrei sa citesti
  20.    """
  21.     with open(file_path, encoding='utf8') as f:
  22.         text = f.read()
  23.         return text
  24.  
  25.  
  26. def write_to_file(text, file_path):
  27.     """
  28.    Aceasta functie scrie un text intr-un fisier.
  29.    text: textul pe care vrei sa il scrii
  30.    file_path: calea catre fisierul in care vrei sa scrii
  31.    """
  32.     with open(file_path, 'wb') as f:
  33.         f.write(text.encode('utf8', 'ignore'))
  34.  
  35.  
  36. def copiaza_continut_txt_html(cale_fisier_txt, cale_fisier_html): # astea sunt argumentele functiei, adica cand apelez functia
  37.     # citesti textul din fisier
  38.     text_txt = read_text_from_file(cale_fisier_txt)
  39.     text_html = read_text_from_file(cale_fisier_html)
  40.     # transformam textul din fisier intr-un string
  41.     text_txt = str(text_txt)
  42.     text_html = str(text_html)
  43.     # aici e pattern-ul pentru expresia regex; (.*?) inseamna ca preia tot ce este intre tag-uri
  44.     # modifici expresia regulata in functie de ce tag dai ca argument pentru functie
  45.     articol_pattern = re.compile('<!-- ARTICOL START -->([\s\S]*?)<!-- ARTICOL FINAL -->[\s\S]*?')
  46.     text_articol = re.findall(articol_pattern, text_html)
  47.     if len(text_articol) != 0:
  48.         text_articol = str(text_articol[0])
  49.         text_txt = '\n\n' + text_txt + '\n\n'
  50.         text_html = text_html.replace(text_articol, text_txt)
  51.         file_path = os.path.dirname(cale_fisier_txt) + "\\" + "fisiere_html" + "\\" + os.path.splitext(os.path.basename(cale_fisier_txt))[0] + '.html'
  52.         write_to_file(text_html, file_path)
  53.         print("Scriere efectuata cu succes.")
  54.     else:
  55.         print("Fisier html fara ARTICOL START/FINAL.")
  56.  
  57.  
  58. def creare_fisiere_html(cale_folder_txt, cale_fisier_html):
  59.     """
  60.    Functia itereaza printr-un folder care contine fisiere txt si creeaza fisiere html corespunzatoare
  61.    """
  62.     for f in os.listdir(cale_folder_txt):
  63.             if f.endswith('txt'):
  64.                 cale_fisier_txt = cale_folder_txt + "\\" + f
  65.                 copiaza_continut_txt_html(cale_fisier_txt, cale_fisier_html)
  66.             else:
  67.                 continue
  68.  
  69. def main():
  70.     creare_fisiere_html("c:\\Folder1", "c:\\Folder1\\oana.html")
  71.  
  72. if __name__ == '__main__':
  73.     main()
  74.  
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement