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 :

Affichage sur affectation de variable


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 172
    Par défaut Affichage sur affectation de variable
    Bonjour,

    Quand une variable est affectée par le résultat d'une commande, je ne souhaite pas voir l'affichage de cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    maCmd = "".join(("curl --head --max-time 10 http://unSiteQuiRépond"))
    monRetour = os.system(str(maCmd))
    Retour :
    Est-ce que cela est possible avec Python ?

    Par avance merci.

  2. #2
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 919
    Billets dans le blog
    8
    Par défaut
    Bonjour,

    Tu peux faire taire ton curl en redirigeant sa sortie sur /dev/null.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maCmd = "".join(("curl --head --max-time 10 http://unSiteQuiRépond >/dev/null))

  3. #3
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 322
    Par défaut
    bonjour

    Python 2 est mort donc on évite au maximum de l'utiliser puisqu'il devrait déjà être supprimé de toutes les configs Et prendre le risque d'utiliser encore python 2 c'est prendre le risque que notre programme ne fonctionne plus dans très peu de temps.

    Est-ce que cela est possible avec Python ?
    - Ton code est plus bash que python Existe une bibliothèque python pour faire la même chose en python "pur"
    - Et avec python, n'existe pas que "os.system()", il est possible de lancer une commande externe (ici curl) en capturant la sortie (pour traitement ultérieur)

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

    Citation Envoyé par bbkenny Voir le message
    Est-ce que cela est possible avec Python ?
    os.system fait comme si vous aviez entré la commande sur un terminal.... où on redirigera la session vers un fichier pour qu'elle n'apparaisse pas sur la sortie standard.... comme quoi ce n'est pas un sujet "python".

    Côté Python, lorqu'on utilise une fonctionnalité telle qu'os.system, il n'est pas inutile de lire le mode d'emploi qui déjà en version 2 suggérait fortement de lui préférer le module subprocess qui permet un meilleur contrôle des entrées/sorties standard.

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

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 827
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par bbkenny Voir le message
    maCmd = "".join(("curl --head --max-time 10 http://unSiteQuiRépond"))
    C'est pour le plaisir d'utiliser join() ou juste pour faire compliqué ?
    maCmd = "curl --head --max-time 10 http://unSiteQuiRépond".

    Citation Envoyé par bbkenny Voir le message
    monRetour = os.system(str(maCmd))
    Oui, vaut mieux utiliser str() au cas où ta chaine n'en serait pas tout à fait une...
    monRetour = os.system(maCmd).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/05/2013, 12h27
  2. Réponses: 2
    Dernier message: 02/07/2009, 15h05
  3. Réponses: 2
    Dernier message: 22/05/2009, 23h00
  4. Affectation de variable sur réponse OSQL
    Par smooncef dans le forum Windows
    Réponses: 19
    Dernier message: 25/04/2008, 15h58
  5. recuperer l'affichage sur un ecran dans une variable
    Par oussama127 dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2006, 23h34

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