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 :

Erreur Fonction recherche [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 33
    Par défaut Erreur Fonction recherche
    Bonjour,

    J'espère que vous allez bien

    Bon assez parler ^^

    J'ai actuellement un soucis j'ai utiliser une fonction par le recherche d'un texte dans une variable il recherche "INC" + les 8 caractères suivant & efface mais le soucis c'est qu'il m'affiche en résultat :

    b' INC0000621'

    Alors que je ne veux que 'INC0000621' ou même juste que INC0000621

    J'ai beau chercher mais je sèche... Est ceux que une âme charitable aurait la solution ?

    Nom : erreur.png
Affichages : 201
Taille : 317,4 Ko

    Merci d'avance

    Cordialement

    Fataly

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 759
    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 759
    Par défaut
    Salut,

    Citation Envoyé par Fataly Voir le message
    J'ai beau chercher mais je sèche... Est ceux que une âme charitable aurait la solution ?
    Pour trouver une solution, il ne suffit pas de trouver un truc qui fasse marcher votre code mais essayez de comprendre le problème.
    La réponse "data" est une suite de "bytes".
    Ca vous le savez puisque vous vous appliquez à écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print (data.decode('utf-8'))
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print (data[str(data).find('UNC')...  )
    i.e. convertir ces bytes en "str" pour que l'affichage soit correct ou que Python ne râle pas.
    Et si vous le faisiez une fois pour toutes après la réception du message, vous travailleriez sur un "str"ing sans devoir vous rappeler de convertir à chaque fois...

    Dommage néanmoins que vous ne teniez pas compte du format JSON de ces bytes là pour convertir cela en structure de données Python via json.loads(data).
    Y rechercher la valeur d'un champ/clé ou de leur combinaison serait bien plus facile.

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

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 33
    Par défaut
    Salut,

    Merci pour ta réponse. J'ai trouver la solution à mon problème en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print ("Le Numero d'incident est :",(data.decode()[str(data.decode()).find("INC")+0:str(data.decode()).find("INC")+10]))
    +1 pour toi & merci d'avoir pris le temps pour m'aider

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 759
    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 759
    Par défaut
    Citation Envoyé par Fataly Voir le message
    Salut,

    Merci pour ta réponse. J'ai trouver la solution à mon problème en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print ("Le Numero d'incident est :",(data.decode()[str(data.decode()).find("INC")+0:str(data.decode()).find("INC")+10]))
    +1 pour toi & merci d'avoir pris le temps pour m'aider
    Pourquoi effectuer 3 x data.decode()?
    Comme data.decode() retourne un "str", dans "str(data.decode())" le "str" ne sert à rien.
    L'un dans l'autre, écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    s = data.decode('utf-8')
    ix = s.find("INC")
    print ("Le Numero d'incident est :", s[ix:ix+10] )
    devrait donner le même résultat.
    C'est certainement plus efficace puisqu'on évite de refaire certaines opérations, quant à savoir si c'est plus lisible, à vous de voir.

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

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 33
    Par défaut
    Salut,

    J'ai suivit ta méthode et je dois t'avoue que ça marche aussi bien & le code est beaucoup plus léger et propre d'ailleurs

    Merci encore !

    PS : J'ai un autre soucis je vais ouvrir un ticket encore T_T

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur '2046' sur fonction rechercher
    Par nmanuel dans le forum IHM
    Réponses: 1
    Dernier message: 18/01/2013, 18h50
  2. Réponses: 9
    Dernier message: 21/09/2011, 15h48
  3. Fonction rechercher et déplacer Erreur :(
    Par julien0709 dans le forum VBScript
    Réponses: 15
    Dernier message: 27/06/2008, 12h16
  4. fonction Recherche
    Par pingoui dans le forum Débuter avec Java
    Réponses: 16
    Dernier message: 31/08/2004, 17h44
  5. méssage d'erreur fonction d'agrégat
    Par developpeur_mehdi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/03/2004, 12h42

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