Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comparer deux fichiers

20 janvier 2020 à 12:22:15

Bonjour 

J'aimerais savoir comment comparer deux fichiers en python avec deux cas à traiter

- Si les deux fichier sont identiques afficher les fichiers sont identiques

- Si les deux fichier sont différents, stockée les lignes différentes dans un ficher texte 

Je sais qu'il existe la bibliothèque difflib mais je ne la comprend pas 

  • Partager sur Facebook
  • Partager sur Twitter
20 janvier 2020 à 13:04:34

Il n'y a pas besoin de bibliothèque pour ça, il suffit de lire le fichier ligne par ligne.
  • Partager sur Facebook
  • Partager sur Twitter

Blond, bouclé, toujours le sourire aux lèvres...

20 janvier 2020 à 20:29:25

LoupSolitaire a écrit:

Il n'y a pas besoin de bibliothèque pour ça, il suffit de lire le fichier ligne par ligne.

Même pas besoin :D

On peut simplement utiliser la méthode read je pense...

On peut aussi utiliser le module filecmp juste fait pour ça et même plus.

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

21 janvier 2020 à 10:52:28

J'ai trouvé un solution

with open('Codes_articles.txt', 'r') as t1, open('Codes_articles2.txt', 'r') as t2:

    fileone = t1.readlines()

    filetwo = t2.readlines()

with open('Update_Codes_Articles.txt', 'w') as outFile:

    for line in filetwo:

        if line not in fileone:

            outFile.write(line)

  • Partager sur Facebook
  • Partager sur Twitter
21 janvier 2020 à 10:54:06

with open('Codes_articles.txt', 'r') as t1, open('Codes_articles2.txt', 'r') as t2:
    print(t1.read() == t2.read())
et juste ça, ça donne quoi ? Tu dois savoir aussi si les deux fichiers sont identiques, non ?

-
Edité par fred1599 21 janvier 2020 à 10:59:05

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

23 janvier 2020 à 15:22:56

oui c'est pas faux

et aussi savoir si une ligne a été supprimé

Il faudrait peut être faire un système de logs ?

  • Partager sur Facebook
  • Partager sur Twitter
23 janvier 2020 à 16:11:20

Je ne sais pas si c'est un exercice, mais il existe des modules python qui existent pour faire ce genre de travail comme difflib par exemple.

Sinon cette solution est élégante...

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

17 février 2020 à 17:12:18

Bonjour,

Fermeture Mystique :ninja:

Il semblerait qu'un membre ayant plus de pouvoir que vous ait décidé de fermer ce topic. Vous vous demandez peut-être la raison de cette fermeture...
Vous ne l'aurez pas.

En effet, les admins jouissent d'un pouvoir sans limite, leur permettant de châtier les zér0s, de fermer les topics et de faire pleuvoir des limaces (seulement en cas de pleine lune, période durant laquelle leurs pouvoirs augmentent considérablement).

Nous vous invitons à prendre peur et à ne plus poster de topic qui pourrait attirer l'attention...

Nous sommes persuadés que vous comprendrez, et vous remercions par avance de votre coopération.

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL