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 :

Emplois de nom génériques pour les variables


Sujet :

Python

  1. #1
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut Emplois de nom génériques pour les variables
    Bonjour;

    Je dois parser un grand nombre de fichiers.
    ils sont de la forme
    host:$host service:$service_1,$service_2,...,$service_n

    Pour les host facile: le type est toujours le même (ce sont des hostnames) donc je peux faire un traitement dessus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if "host:" in line:
    	hostname = line.split('host:')[1].split(' ')[0].rstrip()
    	hosts_list.append(hostname)
    Pour les services, plus dur;
    Ils varient tout le temps. Ça peut être 'http,https' ou 'telnet' ou n'importe quel service.

    J'aimerais que le nom de la variable que je créé puisse varier en fonction du nom du service lui-même. Faire un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if "services:" in line:
    	services_list = line.split('services:')[1].split(' ')[0].rstrip().split(',')
    	for service in services_list:
    		print hostname,service # Jusque là c'est bon
    		"service"-group.append(hostname)
    Je voudrais avoir http-group.append(hostname) par exemple si service_i == "http"

    Je pense qu'il y a une solution plus simple que de recopier la ligne pour autant de services que j'ai à prendre en compte, mais vraiment je vois pas.

    Je vous remercie pour toute idée ou suggestion que vous pourriez me donner

  2. #2
    Membre averti
    Profil pro
    Doctorant en informatique théorique
    Inscrit en
    Décembre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant en informatique théorique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 28
    Par défaut
    Salut,

    Tu pourrais tout simplement utiliser un dictionnaire de listes. Quand tu rencontres un service, tu regardes dans le dictionnaire si tu as deja une entrée pour ce service, si oui tu ajoutes le hostname à la liste, si non tu en crées une nouvelle contenant hostname.

    J'espère que j'ai bien compris ton problème et que ca répond à ta question.

  3. #3
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Hello, Naked;
    Ça marche nickel!!

    Voilà comment j'ai procédé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    services = ['http','https','telnet','ssh']
    services_groups = dict()
     
    for el in services:
        services_groups[el] = list()
     
    if "services:" in line:
    services_raw = line.split('services:')[1].split(' ')[0].rstrip().split(',')
        for s in services_raw:
            if s in services:
            services_groups[s].append(hostname)
    Je créé les services disponibles puis le dictionnaire vide.
    Si le service appartient à la liste, alors on ajoute l'hôte disposant du service dans la liste associée.
    Merci beaucoup!

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/12/2006, 10h12
  2. unset() pour les variables de session
    Par ozzmax dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2006, 15h56
  3. Problème pour les variables de session
    Par brotelle dans le forum Langage
    Réponses: 11
    Dernier message: 20/04/2006, 11h22
  4. Réponses: 4
    Dernier message: 03/11/2005, 13h40
  5. nom serveur pour les mails
    Par Homer dans le forum ASP
    Réponses: 3
    Dernier message: 24/10/2005, 13h37

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