import re import os def trouver_nom_article(fichier_org): print('fichier_org, ',fichier_org) with open(fichier_org, 'r') as file: lignes = file.readlines() # Expressions régulières pour trouver les titres de niveau 1 et 2 titre_niveau_1 = r'^\*+ (.+)$' titre_niveau_2 = r'^\*\*+ (.+)$' nom_article = None # Itérer sur les lignes du fichier for ligne in lignes: # Rechercher un titre de niveau 1 titre_niveau_1_match = re.match(titre_niveau_1, ligne) if titre_niveau_1_match: titre_niveau_1_texte = titre_niveau_1_match.group(1) if titre_niveau_1_texte.lower() != "article": nom_article = titre_niveau_1_texte break else: # Si le premier titre de niveau 1 est "Article", rechercher le premier titre de niveau 2 titre_niveau_2_match = re.match(titre_niveau_2, ligne) if titre_niveau_2_match: nom_article = titre_niveau_2_match.group(1) break print(f"Nom de l'article : {nom_article}") return nom_article # Chemin absolu du dossier parent (pour sauver le fichier d'index) dossier_parent = os.path.dirname(os.path.abspath(__file__)) nom = trouver_nom_article(dossier_parent+'/sources/cipherbliss_blog/contact.org') print('nom ',nom) nom = trouver_nom_article(dossier_parent+'/sources/cipherbliss_blog/lang_fr/20210927092238_cipherbliss_blog_238_des-sauvegardes-qui-durent-mille-ans.org') print('nom ',nom)