import os
# on crée un nouveau fichier
f = open('complet.txt', 'w', encoding='utf8', newline='\n')
# on parcourt le répertoire de sortie
for root, dirs, names in os.walk('SORTIE_V10'):
for name in names:
# on prend tous les fichiers txt
if name.endswith('.txt'):
#on récupère le chemin
filepath = os.path.join(root, name)
# on lit le contenu du fichier
with open(filepath, 'r', encoding='utf8', newline='\n') as fichier:
contenu = fichier.read()
# on écrit le contenu dans le nouveau fichier
f.write(contenu)
# on ferme le fichier
f.close()
# on ouvre un nouveau fichier
f = open('complet.xml', 'w', encoding='utf8', newline='\n')
# on initialise le xml
# vu qu'on va fusionner plusieurs fichiers, on crée un nouveau élément racine <corpus> pour encadrer tous les fichiers
f.write('<?xml version="1.0" encoding="UTF8"?>\n<corpus>\n')
# on parcourt le répertoire de sortie
for root, dirs, names in os.walk('SORTIE_V10'):
for name in names:
# pour chaque fichier xml
if name.endswith('.xml'):
# on récupère le chemin
filepath = os.path.join(root, name)
# on lit le contenu, mais cette fois ligne par ligne
with open(filepath, 'r', encoding='utf8', newline='\n') as fichier:
contenu = fichier.readlines()
# on enlève la première ligne qui est la balise de déclaration <?xml>
contenu.pop(0)
# on écrit le reste du contenu dans le nouveau fichier
new_contenu = ''.join(contenu)
f.write(new_contenu)
# on ferme la balise <corpus> et on ferme le fichier
f.write('</corpus>')
f.close()