Conseil pour comparer le nombre de mots de deux fichiers texte (débutant)
Résolu/Fermé
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
-
26 mai 2020 à 15:48
assange337 Messages postés 11 Date d'inscription mardi 12 mai 2020 Statut Membre Dernière intervention 26 mai 2020 - 26 mai 2020 à 20:55
assange337 Messages postés 11 Date d'inscription mardi 12 mai 2020 Statut Membre Dernière intervention 26 mai 2020 - 26 mai 2020 à 20:55
A voir également:
- Conseil pour comparer le nombre de mots de deux fichiers texte (débutant)
- Explorateur de fichiers - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Excel cellule couleur si condition texte - Guide
- Trousseau mot de passe iphone - Guide
- Transcription audio en texte word gratuit - Guide
4 réponses
yg_be
Messages postés
23416
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 janvier 2025
Ambassadeur
1 557
26 mai 2020 à 16:01
26 mai 2020 à 16:01
bonjour, quel résultat veux-tu précisément obtenir?
yg_be
Messages postés
23416
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 janvier 2025
Ambassadeur
1 557
26 mai 2020 à 16:02
26 mai 2020 à 16:02
avant tout, utilise les balises de code quand tu postes du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
26 mai 2020 à 16:18
26 mai 2020 à 16:18
Autant pour moi, on peut pas éditer les messages ici ?
Imaginons mes deux fichiers textes :
L1txt1 : Comment ça va ?
L1txt2 : Tout va plutôt bien.
L2txt1 : Bien.
L2txt2 : D'accord.
Donc, je voudrais que pour chaque ligne de mes textes (ils sont plutôt longs) puisse être comparé le nombre de mots. Par exemple, pour les lignes 1 : Il y a trois mots pour txt1 et un mot pour txt2 ; un mot pour L2txt1, et un mot pour L2txt2. Et ainsi de suite pour toutes les lignes. Voilà :)
Imaginons mes deux fichiers textes :
L1txt1 : Comment ça va ?
L1txt2 : Tout va plutôt bien.
L2txt1 : Bien.
L2txt2 : D'accord.
Donc, je voudrais que pour chaque ligne de mes textes (ils sont plutôt longs) puisse être comparé le nombre de mots. Par exemple, pour les lignes 1 : Il y a trois mots pour txt1 et un mot pour txt2 ; un mot pour L2txt1, et un mot pour L2txt2. Et ainsi de suite pour toutes les lignes. Voilà :)
yg_be
Messages postés
23416
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 janvier 2025
1 557
>
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
26 mai 2020 à 17:02
26 mai 2020 à 17:02
dans ce cas-là, pourquoi ne pas lire, ligne par ligne, dans les deux fichiers simultanément, et imprimer le résultat de la comparaison?
cela t'évite de mémoriser le nombre de mots de l'ensemble des lignes d'un fichier.
cela t'évite de mémoriser le nombre de mots de l'ensemble des lignes d'un fichier.
yg_be
Messages postés
23416
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 janvier 2025
1 557
>
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
26 mai 2020 à 17:04
26 mai 2020 à 17:04
je suppose que tu n'as pas essayé de faire un exemple correct, où les comparaisons correspondent au contenu des fichiers?
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
>
yg_be
Messages postés
23416
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 janvier 2025
26 mai 2020 à 17:22
26 mai 2020 à 17:22
Oui je pense que ça serait mieux étant donné que mon texte est long ? (je retourne ta question en question haha) Avec un "with" par exemple ? J'ai bricolé ça mais bon le bidouillage en programmation....
with open("a.txt", "r") as f1, open("b.txt", "r") as f2: lines = f.readlines().split("\n")
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
>
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
Modifié le 26 mai 2020 à 17:29
Modifié le 26 mai 2020 à 17:29
Oui j'ai donné un exemple au hasard. Bon du coup ça a fonctionné en enlevant le split. Mais est-ce que c'est bien ce que tu avait proposé de faire ?
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
26 mai 2020 à 16:53
26 mai 2020 à 16:53
Bonjour assange337,
Déjà, il faut compter les mots par ligne, et non pas les additionner tous :
Déjà, il faut compter les mots par ligne, et non pas les additionner tous :
f = open("a.txt", "r") text1 = f.readlines() number_of_words = {} n=0 for line in text1: line = line.strip("\n") words = line.split() number_of_words[n] = len(words) n+= 1 f.close() for k in range (n): print("words line {:d} : {:d}".format(k+1,number_of_words[k]))
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
26 mai 2020 à 17:10
26 mai 2020 à 17:10
Merci c'est pas mal ! Par contre j'ai l'impression que les points d'interrogation sont compris comme des mots
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
26 mai 2020 à 17:04
26 mai 2020 à 17:04
il y a plein de possibilités en fait ...