[python] Chercher une chaine dans un fichier
J'apprends python et j'aimerai faire un petit script qui permet d'ouvrir un fichier et chercher dans celui-ci des chaines de caractères (qui seront des lignes de codes d'un autre langage) et les afficher avec un print par la suite. Comment est ce que je dois m'y prendre ?
Merci d'avance.
19 réponses
Plusieurs réponses portent sur la façon d'ouvrir un fichier en Python, de lire ses lignes et d'afficher celles qui contiennent une chaîne de caractères cible. Des exemples montrent une approche itérative avec open, read ligne par ligne et utilisation de if mot in ligne pour imprimer les occurrences, puis la fermeture du fichier. D'autres échanges abordent le traitement de plusieurs chaînes, les retours à la ligne, les différents modes d'encodage et l'usage éventuel d'expressions régulières ou de boîtes de dialogue Tkinter pour sélectionner les fichiers. D'autres échanges suggèrent des améliorations comme tester plusieurs chaînes simultanément avec une liste et des boucles, ou employer des expressions régulières pour gérer des motifs complexes et variables.
-
ModérateurHello !
Voici un exemple simple:
On recherche les lignes contenant "coucou" dans le fichier fichier.txt et on les affiche:
#!/usr/bin/python # -*- coding: iso-8859-1 -*- chaine = "coucou" # Texte à rechercher fichier = open("fichier.txt","r") for ligne in fichier: if chaine in ligne: print ligne fichier.close()
-
Wa, interessant. Et si je veux chercher plusieurs chaines et les afficher ligne par ligne. Je dois creer une classe c'est ça ? je ne parviens pas a faire cela. Je peux creer une autre variable avec chaine2 = "truc" et apres mettre un elif print ligne. Mais s'il y a plus de 30 types de chaines a chercher ca risque d'etre long.
As-tu une idée ?
Merci de ton aide.
-