Advertisement
nicuf

increment number in multiple files

Mar 10th, 2022
917
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.08 KB | None | 0 0
  1. ------------------------------
  2. EXPLANATION:
  3.  
  4. ROMANIAN:  https://neculaifantanaru.com/how-to-increment-numbers-in-python-in-multiple-files.html
  5.  
  6. ENGLISH:   https://neculaifantanaru.com/en/how-to-increment-numbers-in-python-in-multiple-files.html
  7. ------------------------------
  8.  
  9. import os
  10. import re
  11.  
  12. def read_text_from_file(file_path):
  13.     """
  14.    Aceasta functie returneaza continutul unui fisier.
  15.    file_path: calea catre fisierul din care vrei sa citesti
  16.    """
  17.     with open(file_path, encoding='utf8') as f:
  18.         text = f.read()
  19.         return text
  20.  
  21.  
  22. def write_to_file(text, file_path):
  23.     """
  24.    Aceasta functie scrie un text intr-un fisier.
  25.    text: textul pe care vrei sa il scrii
  26.    file_path: calea catre fisierul in care vrei sa scrii
  27.    """
  28.     with open(file_path, 'wb') as f:
  29.         f.write(text.encode('utf8', 'ignore'))
  30.  
  31. def incrementare_fisiere_html(cale_folder_html):
  32.     """
  33.    Functia itereaza printr-un folder care contine fisiere html si adauga index-ul corespunzator in fiecare fisier
  34.    """
  35.     count = 0
  36.     current_id = 1
  37.     for f in os.listdir(cale_folder_html):
  38.             if f.endswith('.html'):
  39.                 cale_fisier_html = cale_folder_html + "\\" + f
  40.                 html_text = read_text_from_file(cale_fisier_html)
  41.                 item_id_pattern = re.compile('\$item_id = (.*?);')
  42.                 item_id = re.findall(item_id_pattern, html_text)
  43.                 if len(item_id) > 0:
  44.                     print("{} a fost modificat. ".format(f))
  45.                     item_id = item_id[0]
  46.                     html_text = html_text.replace(item_id, str(current_id))
  47.                     current_id += 1
  48.                     count += 1
  49.                     write_to_file(html_text, cale_fisier_html)
  50.                 else:
  51.                     # print("{} nu are $item_id.".format(f))
  52.                     continue
  53.             else:
  54.                 continue
  55.     print("Numarul de fisiere modificate: ", count)
  56.  
  57. if __name__ == '__main__':
  58.     # sa pui calea catre folderul cu fisiere
  59.     incrementare_fisiere_html('e:\\Folder1')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement