# Récupérer réponse terminal en variable sur python

**URL:** <https://www.debian-fr.org/t/recuperer-reponse-terminal-en-variable-sur-python/81657>\
**Category:** Programmation\
**Created:** [Mars 30, 2020, 3:33 UTC](https://www.debian-fr.org/t/recuperer-reponse-terminal-en-variable-sur-python/81657 "2020-03-30T15:33:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![adrien97](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ec9cab/32.png) [@adrien97](https://www.debian-fr.org/u/adrien97)\
**Post date:** [Mars 30, 2020, 3:33 UTC](https://www.debian-fr.org/t/recuperer-reponse-terminal-en-variable-sur-python/81657/1 "2020-03-30T15:33:30Z")

</div>

Bonjour à vous,

Objectif :  
Faire un programme python s’assurant que la caméra Rpi est fonctionnelle.

Voici l’architecture :  
Le code python actuel se connecte à ma RaspberryPi3, ce même code exécute le code “vcgencmd get\_camera”. Ce code permet de savoir si la caméra connectée à la rasberry est fonctionnelle.  
Le terminal python de mon PC me retourne “supported=1 detected=1” car la caméra est fonctionnelle.

Problème : J’aimerai analyser ce résultat de commande. Si j’ai : supported=1 detected=1  
Alors j’ai un messagebox qui me dit : caméra fonctionnelle  
sinon caméra non fonctionnelle

```nohighlight
---------------
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy()def start():
        try :
            client.connect('192.192.192.101', port=22, username='pi', password='raspberry')
            return True
        except Exception as e:
            #client.close()
            print(e)
            return False
while start():
    cmd = "vcgencmd get_camera>>msg2.txt"
    chan = client.get_transport().open_session()
    print("running '%s'" % cmd)
    chan.exec_command(cmd)
    key=0
    print("recv:\n%s" % chan.recv(4096).decode('ascii'))
      break
            client.close()
client.close()
-----------------------

```

Comment mettre ce résultat dans une variable analysable ?

Merci à vous !!

Adrien

---

<div class="post-metadata">

**Author:** ![littlejohn75](https://www.debian-fr.org/user_avatar/www.debian-fr.org/littlejohn75/32/3840_2.png) [@littlejohn75](https://www.debian-fr.org/u/littlejohn75)\
**Post date:** [Mars 30, 2020, 8:50 UTC](https://www.debian-fr.org/t/recuperer-reponse-terminal-en-variable-sur-python/81657/2 "2020-03-30T20:50:28Z")

</div>

> [@adrien97](#):
>
> Comment mettre ce résultat dans une variable analysable ?

Quel résultat ? Il semblerait que vous avez recopié un code sans vraiment le comprendre.  
Remplacez

```python
def start():

```

par

```python
def start(client):

```

et le `while start(): ` par un `if start(client):`  
Pour le stockage du résultat dans une variable ce serait peut-être

```auto
res = chan.recv(4096).decode('ascii')

```

mais comme je ne connais pas la manière d’utiliser `paramiko` je suis éventuellement à côté de la plaque.  
D’autre part l’instruction

```auto
    cmd = "vcgencmd get_camera>>msg2.txt"

```

m’interpelle (la redirection ne peut être exécutée que par un shell )

Cordialement,  
Regards,  
Mit freundlichen Grüßen,  
مع تحياتي الخالصة

* * *

F. Petitjean  
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »  
Pierre Dac

---

<div class="post-metadata">

**Author:** ![adrien97](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ec9cab/32.png) [@adrien97](https://www.debian-fr.org/u/adrien97)\
**Post date:** [Mars 31, 2020, 3:21 UTC](https://www.debian-fr.org/t/recuperer-reponse-terminal-en-variable-sur-python/81657/3 "2020-03-31T15:21:54Z")

</div>

Bonjour,  
Merci beaucoup pour votre réponse !  
Je parlais du résultat que le terminal de commande écrit, soit “supported=1 detected=1”

J’ai réussi à contourner le problème :

L’instruction suivante :  
`cmd = "vcgencmd get_camera>>msg2.txt"`  
me permet de récupérer le résultat de la commande “vcgencmd get-camera” dans un fichier txt.  
J’ai crée une deuxième partie de programme qui compare ce fichier .txt à un autre.  
J’ai crée un fichier monmodele.txt comprenant : “supported=1 detected=1”  
Si msg2.txt est égal au fichier monmodele.txt  
Alors la caméra est détectée.

Merci beaucoup pour votre réponse.

Cordialement,

Adrien D.
