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 :

Fonction SPLIT sur python [Python 3.X]


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2016
    Messages : 2
    Points : 6
    Points
    6
    Par défaut Fonction SPLIT sur python
    Bonjour, j’ai une raspberry pi qui reçois des données sur le port série. Ces données sont envoyées à partir d’une arduino.

    Le programme de la arduino est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    void setup()                       
      {
        Serial.begin(115200);            
    }
     
      void loop() 
      {
         affiche_pin();                           
         delay(30);
    }                                     
     
      void affiche_pin()
      {
        Serial.println("AI1=1=NOK");  
        Serial.println("AI1=1=NOK");
        Serial.println("AI2=1=NOK");
        Serial.println("AI3=1=NOK");
        Serial.println("AI4=1=NOK");
        Serial.println("AI5=1=NOK");
        Serial.println("AI6=2=OK");
        Serial.println("AI7=2=OK"); 
        Serial.println("AI8=2=OK"); 
        Serial.println("AI9=2=OK"); 
        Serial.println("AI10=2=OK");
        Serial.println("AI11=2=OK");
    }
    il n'y a pas de problème avec cela, car j'arrive à recevoir et visualiser toutes les données que la arduino m'envoie

    et sur la raspberry pi le programme est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    #!/usr/bin/env python3
     
    import serial
    import re
     
    #parametrage du port serie
    ser = serial.Serial('/dev/ttyUSB0', 115200)
     
    #lecture du port serie
    port_serie = ser.readline()
     
    #activation du découpeur de chaine de caractère
    port_serie.split
    for port_serie in port_serie.split(b"="): #b":" obligé de mettre le b caractère codé en bytes
    	print(port_serie)
     
     
    part1 = port_serie[0]
    part2 = port_serie[1]
    part3 = port_serie[2]
    print(part1)
    print(part2)
    print(part3)
    Dans le terminal de la raspberry, je visualise bien le print(port_serie) mais les print(part1), print(part2) et print(part3) affichent des nombres et pas les caractères de la chaine.

    Comment faire pour sauvegarder les 3 parties de la donnée reçu?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Lorsque vous écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for port_serie in port_serie.split(b"="): #b":" obligé de mettre le b caractère codé en bytes
    	print(port_serie)
    port_serie (les données reçues) devient un autre port_serie (partie des données après découpage).
    Recycler vos noms de variables vous fout dedans.
    Pourquoi ne pas écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    port_serie = port_serie.split(b"=")
    for part in port_serie:
       ....
     
    part0 = port_serie[0]
    ...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Problème avec fonction tuple sur Python 3.4.1
    Par inconnito2 dans le forum Général Python
    Réponses: 4
    Dernier message: 28/12/2014, 12h57
  2. [XL-2010] Probleme sur Fonction Split
    Par Jeyjey1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/07/2011, 14h48
  3. [AC-2003] Fonction split, avis sur le code
    Par Chagui dans le forum VBA Access
    Réponses: 6
    Dernier message: 26/08/2010, 12h04
  4. fonction split sur une url
    Par Sh4dow49 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/10/2008, 16h42
  5. Réponses: 5
    Dernier message: 13/10/2005, 12h46

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