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 :

AttributeError: 'int' object has no attribute 'count'


Sujet :

Python

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Par défaut AttributeError: 'int' object has no attribute 'count'
    Bonjour à tous,

    J'essaie d'écrire un plugin en python pour Shinken (Nagios), mais voilà où ça coince :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    root@5lpo228:~# ./check_printers -H zeta
    PING zeta.domaine.fr (x.x.x.x) 56(84) bytes of data.
    64 bytes from zeta.domaine.fr (x.x.x.x): icmp_req=1 ttl=63 time=0.552 ms
     
    --- zeta.domaine.fr ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.552/0.552/0.552/0.000 ms
    Traceback (most recent call last):
      File "./check_printers", line 99, in <module>
        ping()
      File "./check_printers", line 83, in ping
        if ping.count('100% packet loss') == 1:
    AttributeError: 'int' object has no attribute 'count
    Et voici ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def ping():
       ping = os.system('ping -c 1 ' + hostname)
       if ping.count('100% packet loss') == 1:
          print 'CRITICAL - ', hostname, 'is down'
          raise SystemExit(CRITICAL)
       else:
          print 'OK - ', hostname, 'is alive'
          raise SystemExit(OK)
    Je n'arrive pas à identifier mon erreur, donc si vous avez des idées, je suis preneuse
    Merci d'avance et bonne journée.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Salut,
    os.system retourne le status informant du bon déroulement de la commande passée.
    Ce n'est pas le résultat du ping. Et il y a peu d'espoir pour que ce soit un objet python qui pourrait avoir pour attribut "count".
    Il existe peut être une librairie Python qui réalise une fonction "ping" plus proche de vos attentes. A défaut, il faut récupérer la sortie de la commande "ping" et la mettre en forme pour que...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Par défaut
    Merci beaucoup, je vais poursuivre mes cherches sur cette voie

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Par défaut
    Problème RESOLU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def ping():
       result = pexpect.run('ping -c 1 %s'%hostname)
       if result.count('100% packet loss') == 1:
             print 'CRITICAL -', hostname, 'is down'
             raise SystemExit(CRITICAL)
       else:
          print 'OK -', hostname, 'is alive'
          raise SystemExit(OK)

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

Discussions similaires

  1. AttributeError "nonetype" object has no attribute
    Par Invité dans le forum Général Python
    Réponses: 2
    Dernier message: 14/12/2010, 20h49
  2. Selenium - AttributeError: 'module' object has no attribute
    Par bender1979 dans le forum Général Python
    Réponses: 4
    Dernier message: 09/11/2010, 22h03
  3. Probleme : AttributeError: 'tuple' object has no attribute
    Par MrGecko dans le forum Général Python
    Réponses: 1
    Dernier message: 27/05/2007, 09h59
  4. Réponses: 2
    Dernier message: 26/05/2006, 14h48

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