Neculai Fantanaru

Everything Depends On The Leader

Python: Kopieer outomaties die name van subvouers in alle HTML-lêers wat in alle subvouers geleë is

On August 04, 2022
, in
Python Scripts Examples by Neculai Fantanaru

Jy kan die hele kode hier sien: https://pastebin.com/hnAyWW2Q

Ons het FLAGS-vouer waarin daar die volgende subvouers is: HR, ES, RU, AR, BS...

In elk van hierdie subvouers (HR, ES, RU, AR, BS... ) is daar ongeveer 1600 html-lêers.

In elke html-lêer is daar die volgende identiese lyne:

<meta http-equiv="Inhoud-taal" content="af"/>

<meta property="og:locale" content="af"/>

https://neculaifantanaru.com/af/

UITVOER: Die kode sal die naam van die lêer neem, byvoorbeeld (HR) uit die HR-subgids, en dit aan die einde van die 3 reëls invoeg, in plaas van en:

<meta http-equiv="Inhoud-taal" inhoud="HR"/>

<meta property="og:locale" inhoud="HR"/>

https://neculaifantanaru.com/HR/

Dieselfde sal gebeur met die lêers in die ander subgidse (ES, RU, AR, BS...)

Opsioneel. Aan die einde van die kode sal jy 'n paar Regex-formules vind wat nodig is om FIND/REPLACE-bewerkings in elke individuele lêer uit te voer:

import requests
import re
import os
import regex
# folder principal
folder_principal = "e:\\FLAGS"
extension_file = ".html"
def read_text_from_file(file_path):
   """
    Aceasta functie returneaza continutul unui fisier.
    file_path: calea catre fisierul din care vrei sa citesti
    """
   with open(file_path, encoding='utf8') as f:
       text = f.read()
       f.close()
       return text
def write_to_file(text, file_path):
   """
    Aceasta functie scrie un text intr-un fisier.
    text: textul pe care vrei sa il scrii
    file_path: calea catre fisierul in care vrei sa scrii
    """
   with open(file_path, 'wb') as f:
       f.write(text.encode('utf8', 'ignore'))
       f.close()
for root, dirs, files in os.walk(folder_principal): # folder principal
   for d in dirs: # subfoldere
       cale_subfolder = root + os.sep + d
       for root_files, dirs_files, files_files in os.walk(cale_subfolder): # fisiere din subfoldere
           for file_name in files_files:
               file_path = root_files + os.sep + file_name
               file_content = read_text_from_file(file_path)
               # <meta http-equiv="Content-Language" content="en"/>
               meta_lang = re.search('<meta http-equiv="Content-Language" content=".*?".*?/>', file_content)
               if (meta_lang == None):
                   print("Nu am gasit --- en --- in fisierul --- {} ---.".format(file_path))
               else:
                   meta_lang = meta_lang[0]
                   new_meta_lang = re.sub(r'content=".+"', f'content="{d.lower()}"', meta_lang)
                   file_content = file_content.replace(meta_lang, new_meta_lang)
               # <meta property="og:locale" content="en"/>
               meta_prop_lang = re.search('<meta property="og:locale" content=".*?".*?/>', file_content)
               if (meta_prop_lang == None):
                   print("Nu am gasit --- en --- in fisierul --- {} ---.".format(file_path))
               else:
                   meta_prop_lang = meta_prop_lang[0]
                   new_meta_prop_lang = re.sub(r'content=".+"', f'content="{d.lower()}"', meta_prop_lang)
                   file_content = file_content.replace(meta_prop_lang, new_meta_prop_lang)
               # https://neculaifantanaru.com/af/
               link_lang_regex = re.compile('https://neculaifantanaru.com/af/')
               link_lang = re.findall(link_lang_regex, file_content)
               if (len(link_lang) == 0):
                   print("Nu am gasit --- neculaifantanaru.com/en/ --- in fisierul --- {} ---.".format(file_path))
               else:
                   for i in range(len(link_lang)):
                       link_lang_i = link_lang[i]
                       new_link_lang_i = re.sub('https://neculaifantanaru.com/af/', f'https://neculaifantanaru.com/{d.lower()}/', link_lang_i)
                       file_content = file_content.replace(link_lang_i, new_link_lang_i)
               # alt="fr" width="28" height="19" /></a>&nbsp; <a href="https://neculaifantanaru.com/af/
               flags_content = re.search("<!-- FLAGS_1 -->[\s\S]*?<!-- FLAGS -->", file_content)
               if (flags_content == None):
                   print("Nu am gasit --- FLAGS --- in fisierul --- {} ---.".format(file_path))
               else:
                   flags_content = flags_content[0]
                   new_flags_content = flags_content
                   links_flags_regex = re.compile('alt="fr" width="28" height="19" /></a>&nbsp; <a href="https://neculaifantanaru.com/.*?/')
                   links_flags = re.findall(links_flags_regex, flags_content)
                   if (len(links_flags) == 0):
                       print("Nu am gasit --- links FLAGS --- in fisierul --- {} ---.".format(file_path))
                   else:
                       for i in range(len(links_flags)):
                           link_i = links_flags[i]
                           new_link_i = re.sub('https://neculaifantanaru.com/.*?/', 'https://neculaifantanaru.com/af/', link_i)
                           new_flags_content = new_flags_content.replace(link_i, new_link_i)
                       file_content = file_content.replace(flags_content, new_flags_content)
               # REGEX_1   \x20\|.*(</title>) -> \1
               title = re.search('\x20\|.*(</title>)', file_content)
               if (title == None):
                   print("Nu am gasit --- title --- in fisierul --- {} ---.".format(file_path))
               else:
                   file_content = re.sub(r'\x20\|.*(</title>)', r'\1', file_content)
               # REGEX_2  <td width="149"><div class="rw-ui-container rw-class[\s\S]*?</td>
               file_content = re.sub(r'<td width="149"><div class="rw-ui-container rw-class[\s\S]*?</td>', '', file_content)
               # REGEX_3  \A(?s).*?<!DOCTYPE html>(?-s).*\R -> \r<!DOCTYPE html>\r
               file_content = regex.sub(r'[\s\S]*?<\?php[\s\S]*?\?>\s+', r'', file_content)
               write_to_file(file_content, file_path)
 

That's all folks.

Sien ook hierdie weergawe 2 of VERSIE 3 of weergawe 4 of weergawe 5 of weergawe 6 of weergawe 7

Alatura-te Comunitatii Neculai Fantanaru
Die 63 grootste eienskappe van 'n leier
Cele 63 de calităţi ale liderului

Hoekom hierdie boek lees? Omdat dit van kritieke belang is om jou prestasie te optimaliseer. Omdat dit openbaar die hoofkoördinate daarna is bou die karakter en vaardighede van die leiers, beklemtoon wat dit belangrik is vir hulle om hul invloed te verhoog.

Leierskap - Magie van Bemeestering
Atingerea maestrului

Die wesenlike kenmerk van hierdie boek in vergelyking met ander op die mark in dieselfde domein is dat dit deur middel van voorbeelde die ideale vaardighede van 'n leier beskryf. Ek het nooit beweer dat dit maklik is om 'n goeie leier te word nie, maar as mense sal...

The Master Touch
Leadership - Magia măiestriei

Vir sommige leiers lyk "leiding" meer na 'n skaakspel, 'n spel van slimheid en deursigtigheid; vir ander beteken dit 'n kansspel, 'n speletjie wat hulle dink hulle kan wen elke keer as hulle alles op 'n enkele kaart waag en wed.

Leierskapraaisel
Leadership Puzzle

Ek het hierdie boek geskryf wat op 'n eenvoudige manier persoonlike ontwikkeling met leierskap verbind, net soos 'n legkaart, waar jy al die gegewe stukke moet pas om die algemene beeld weer saam te stel.

Prestasie in Leiding
Leadership - Pe înţelesul tuturor

Die doel van hierdie boek is om jou inligting deur middel van konkrete voorbeelde te bied en om jou te wys hoe om die vermoë te verkry om ander dinge vanuit dieselfde hoek as jy te laat sien.

Leierskap vir Dummies
Leadership - Pe înţelesul tuturor

Sonder om dit as 'n konkord te beskou, verteenwoordig die boek die probeerslag van 'n gewone man - die skrywer - wat deur eenvoudige woorde, feite en gewone voorbeelde die gewone mens moed en optimisme inboesem in sy eie strewe om sy eie baas te wees en wie weet. .. dalk selfs 'n leier.