esope
Posts: 50
Joined: Sun Aug 02, 2015 12:30 pm

recherche dans un fichier readline

Sat Aug 08, 2015 9:43 pm

Bonsoir,

Je suis un peu embêté.
J'essais de faire quelque chose, mais n'y parviens pas.

Je veux parcourir un répertoire, en lister les .txt, en choisir un, en lire les lignes (jusque là ça va).
Ensuite j'ai besoin de vérifier la présence ou non d'une chaine et de faire une action pour chaque.
J'ai écris le début du code, et mis en français en commentaire à la fin mon trou noir

Code: Select all

import os
import glob

input("Appuyer sur entrer pour lister les fichiers")
maliste = glob.glob("C:\\Users\\Esope\\Desktop\\*.txt")
#nombre_fichiers = (len(maliste))

valider = True
while valider :
    for i in maliste:
        print(i)
        choisir = input("choisir ce fichier ?")
        if not choisir == "":
            fichier = i
            print("le fichier choisi est %s" %(i))
            valider = False
            break                
                
print("boucle terminée")

#lire le fichier ligne par ligne
lignes = fichier.readlines()

for chaque_ligne in lignes:
    
#    si "1" existe
#    print("1=oui")
#    si "1" n'existe pas
#    print("1=non")
#    si "2" existe
#    print("2=oui")
#    si "2" n'existe pas
#    print("2=non")

Mon fichier texte se présente sous la forme suivante :

Code: Select all

1=1,4,9,14,17,20,23
2=1,6,7,12,13,22
3=2,3,11,12,13,15,18,21,24
4=10,11,12,14,17,20,23
5=1,13,16,19,22
Par exemple pour la première ligne, je veux faire une action pour le "1" qui est présent, et le "2" qui est absent entraine aussi une action. Et le point particulier, je dois commencer la recherche après le "=".
Je dois vérifier la présence de 1 à 24 donc le coup des "if" c'est pas bon du tout ça m'en ferait 48. Je cherche donc à faire autrement mais ça ne vient pas, étant débutant.

Pour la boucle qui devra passer à la ligne suivante ça je pourrais me débrouiller c'est pas compliqué.

Merci d'avance

totoharibo
Posts: 4450
Joined: Thu Jan 24, 2013 8:43 am

Re: recherche dans un fichier readline

Sat Aug 08, 2015 10:10 pm

crée une variable avant le for
i=1
for chaque_ligne in lignes:
si <i existe dans ligne>
print(i,"=oui")
else #n'existe pas
print(i,"=non")
i+=1

esope
Posts: 50
Joined: Sun Aug 02, 2015 12:30 pm

Re: recherche dans un fichier readline

Wed Aug 19, 2015 10:22 am

Merci pour la réponse,
Désolé de ne répondre que maintenant mais j'ai été débordé avec la naissance de mon fils.

Return to “Français”