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 :

Accéder à des variables d'un programme python depuis l'extérieur ?


Sujet :

Python

  1. #1
    Invité
    Invité(e)
    Par défaut Accéder à des variables d'un programme python depuis l'extérieur ?
    Hello les gens,

    Je ne connais pas spécialement Python et je voulais savoir s'il était possible de réaliser la chose suivante :

    J'ai actuellement un programme qui marche très bien (sous raspberry) avec quelques variables dont 3 qui sont globales.

    J'aimerai avoir la possibilité de modifier ces trois variables en dehors de mon programme (qui tourne en tâche de fond et en boucle).
    Et idéalement j'aimerai le faire depuis mon Android ...

    Du coup je me demandais si je pouvais par exemple :
    - Faire en sorte dans mon programme de récupérer les valeurs de trois "variables systèmes" (périodiquement)
    - Modifier ces trois variables systèmes ensuite depuis mon Android et du coup elles seront reprises par mon programme automatiquemen

    Est-ce possible ?
    Si non auriez-vous une idée ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il me semble que les sockets permettent la communication entre programmes hétérogènes.

    Voir doc officielle : https://docs.python.org/3/library/socket.html

    @+.

  3. #3
    Invité
    Invité(e)
    Par défaut
    En gros il faut utiliser :

    import os
    os.environ

    Je vais essayer ça .

    Edit : Je confirme c'est bien ça, je peux du coup y accéder avec variable = os.environ["MAVARIABLE"]
    Il suffit d'avoir créer cette variable au préalable (dans le .bashrc par exemple).

    Edit2 : Bon ça marche mais en fait pas comme je veux. Les variables ne sont pas modifiables apparemment ... il faut que je trouve un contournement.
    Dernière modification par Invité ; 17/02/2015 à 09h20.

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Une communication par socket semble être une solution adaptée. L'application ouvre socket en attention de connexion. S'y connecte qui veut (une application Android, un programme sur un PC, un autre programme sur le même Raspberry) et envoie les valeurs souhaitées. Le programme Python est alors maître d'accepter les changements (on peut choisir d'éliminer des valeurs incohérentes) et de les appliquer. De même, le programme se connectant peut demander la liste des valeurs et le programme Python lui renvoie. C'est à mon avis une solution sécurisée (sécurisable ?) et utilisable avec n'importe quel système client.

    Les variables ne sont pas modifiables apparemment ... il faut que je trouve un contournement.
    Si elles sont modifiables mais ne sont pas immédiatement partagées. Ouvre 2 terminaux, définis une variable dans le premier, l'autre ne la voit pas. Il faut que tu fasses "export" dans le premier terminal avant d'ouvrir le suivant. Ton problème doit venir de quelque chose dans ce genre.

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/04/2011, 09h56
  2. Réponses: 11
    Dernier message: 10/05/2010, 09h40
  3. [Débutant] accéder à des variables partagées dans différents fichiers
    Par jane40 dans le forum MATLAB
    Réponses: 16
    Dernier message: 24/04/2009, 15h17
  4. Affichage des variables d'un programme asm
    Par fgh39 dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 13/05/2008, 06h16
  5. Réponses: 15
    Dernier message: 30/04/2008, 16h50

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