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 :

Récupérer les 4 lignes depuis la console


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut Récupérer les 4 lignes depuis la console
    bonjour ,

    Après exécution d'un script sh par python , je ne sais pas comment récupérer
    avec python les 4 lignes , depuis la console .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #! /usr/bin/python
    # -*- coding: utf-8 -*-
     
    import os
    import glob
    import time 
     
    os.system('sh capt.sh')
    Ligne console :
    25/12/14 -- 15:14
    Using pin #4
    Data (40): 0x32 0x0 0x17 0x0 0x49
    Temp = 23 *C, Hum = 50 %

    Ces lignes dans un string , permettra un reformatage ne gardant que les val numériques .

    @+

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    subprocess.Popen() est plus adapté aux traitements de retours d'exécution de commande externe à Python.

    Je te montrerais bien un exemple mais capt.sh me semble inconnu sur ma machine, qu'est-ce que c'est ?

  3. #3
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/sh
     
    date ...
    /home/.../Adafruit_DHT 11 4
     
    # exécute Ada.. (routine C)
    https://github.com/adafruit/Adafruit...uit_DHT_Driver

  4. #4
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Bonjour

    La solution de VinsS est LA solution. Après, si le passage "récupérer les 4 premières lignes en sortie de Adafruit_DHT et reformatter" n'est qu'une étape parmi N dans une série d'exécutables pipés sous Unix/Linux (j'ai lu la discussion ouverte sous Linux/bash), tu peux te contenter d'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import sys
    lines = [ sys.stdin.readline() for _ in range(4) ]
    # le (re)formattage et l'écriture sur stdout
    Gérer les code-retour de bcm2835 ... c'est trop tard !

    Sinon, utiliser Python comme simple filtre dans une série de commandes pipées entre elles est luxueux. Possible mais luxueux. C'est toi qui sait si tu veux investir dans python ou si c'est simplement pour s'insérer dans du awk pipé avec du shell pipé avec du sed pipé ... etc...

    Personnellement, j'ai fait le choix de travailler en python (et d'arrêter de piper tout et n'importe quoi, dans tous les sens) : ça vaut le coup !

  5. #5
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut
    plxpy :

    Je vais adopter un compromis avec :
    25/12/14 -- 15:14
    Using pin #4
    Data (40): 0x32 0x0 0x17 0x0 0x49
    Temp = 23 *C, Hum = 50 %

    En accumulant les data par un cron sur fichier sh .
    Les cron python sont luxueux et le moindre défaut de dépendance plante .

    C'est très facile avec python :

    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
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
     
     
    import time
    import os
    import sys
     
    os.system('clear')
    ofi = open('dh25_12.csv')
    t = ofi.read()
    # ------------------------------------------
    i=90*0
    j=i+72
    k=j+13
    print(t[i:i+17]+';'+t[j:j+2]+';'+t[k:k+2])
    # ------------------------------------------
    i=90*1
    ...
    Ce qui donne :

    25/12/14 -- 19:00;23;51
    25/12/14 -- 19:30;23;49
    25/12/14 -- 20:00;23;48
    ...

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

Discussions similaires

  1. Récupérer les statuts HTTP depuis FastCGI
    Par bioinfornatics dans le forum Apache
    Réponses: 1
    Dernier message: 24/11/2011, 14h29
  2. [Doctrine] récupérer les objets trouvés depuis actions.class
    Par jfsenechal dans le forum ORM
    Réponses: 7
    Dernier message: 13/01/2011, 10h15
  3. Réponses: 0
    Dernier message: 27/07/2009, 15h28
  4. récupérer les dernieres lignes d'une table
    Par steave dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/04/2008, 12h26
  5. Récupérer les dernières lignes modifiées
    Par Mythrandil dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/06/2007, 10h33

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