IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Impossible d'identifier une chaîne de caractères dans un fichier texte


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2021
    Messages : 4
    Par défaut Impossible d'identifier une chaîne de caractères dans un fichier texte
    Bonjour,

    J'ai un script assez basique qui me permet d'identifier si un mot particulier apparaît dans un fichier texte. Ce script fonctionne parfaitement sauf quand je l'utilise sur les fichiers provenant des logs de Cobian Backup 11. A savoir que lorsque je copie/colle le texte du fichier en question dans un nouveau fichier le script identifie bien la chaîne de caractère. J'ai regardé les autorisations sur les fichiers provenant des logs de Cobian et j'ai un contrôle total pour "Tous le monde", j'ai même tenté de rajouter "Système" en contrôle total également mais rien n'y fait. Si vous avez une idée je suis preneur ! Merci d'avance en tout cas.

    Le script en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    chaine = "mot" # Texte à rechercher
    fichier = open("C:/chemin/fichier.txt","r")
    for ligne in fichier:
        if chaine in ligne:
            print(ligne)
    fichier.close()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 757
    Par défaut
    Salut,

    Je ne comprends pas le rapport entre la protection du fichier (qui fera planter open avec un message d'erreur) et une fois ouvert, en lecture, la recherche d'une chaine de caractères (qui peut ne rien trouver si la chaine n'est pas présente mais montrer le code sans le fichier texte...)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 242
    Par défaut
    hello,
    sous quel O.S es-tu ? As-tu essayé de déboguer ton programme avec un point d'arrêt sur le If et de regarder ce que vaut ligne?
    Ami calmant, J.P

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Essayer aussi avec un encodage dans open (encoding=...). Avant, lire le fichier avec un éditeur comme notepad++ qui "sniffe" bien l'encodage effectif du texte. Ou le lire en format binaire pour voir à quoi ça ressemble...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2021
    Messages : 4
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    Bonjour,

    Essayer aussi avec un encodage dans open (encoding=...). Avant, lire le fichier avec un éditeur comme notepad++ qui "sniffe" bien l'encodage effectif du texte. Ou le lire en format binaire pour voir à quoi ça ressemble...
    Merci beaucoup le problème venait effectivement de l'encodage qui est en "UCS-2 LE BOM" avec les fichiers textes de Cobian. Il ne me manque plus qu'à trouver un moyen de changer l'encodage par défaut de Cobian ou bien si c'est impossible de réencoder les fichiers en UTF-8 à leurs ouvertures. Merci encore.

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    A ma connaissance, l'encodage UCS2 est un UTF-16 simplifié, afin de garantir qu'il y a 2 octets par caractère et jamais plus.

    A défaut d'un codec UCS2, il faut donc tester UTF-16. En regardant dans le fichier "codecs.py" de la bibliothèque Python, on trouve un "BOM_UTF16_LE" à essayer dans open comme encoding.

Discussions similaires

  1. identifier une chaîne de caractère dans A1 présent dans B1
    Par baring dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/05/2019, 16h27
  2. [XL-2016] Comment identifier une chaîne de caractères dans une chaîne de caractères
    Par cdurep dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/10/2018, 12h57
  3. [PowerShell] Rechercher une chaîne de caractères dans un fichier texte
    Par 69Pierre dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/07/2018, 18h02
  4. Retouver une chaîne de caractère dans un fichier
    Par thierrykammi dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 26/09/2008, 09h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo