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 :

Recherche dans liste de fichiers


Sujet :

Python

  1. #1
    Membre actif Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 152
    Points : 208
    Points
    208
    Par défaut Recherche dans liste de fichiers
    Bonjour,

    J'essaye d'extraire dans un répertoire une liste de fichiers dont le nom contient un pattern prédéfini et ne conserver que ce pattern dans une liste. J'ai commencé par faire simple , l'ai choisi comme pattern "ORP" , qui est stocké dans RegexServ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    def serveurs(file):
        s = regex.search(file)
        serv = s.group('se')
     
    print("-----------"+ RegexServ )
    regex = re.compile(r"(?P<se>" + re.escape(RegexServ) + ")")
    l_serv = map (serveurs, liste_fic)
    for f in liste_fic:
        s = regex.search(f)
        serv = s.group('se')
        print(serv)
    print(l_serv)
    et j’obtiens comme résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -----------ORP
    ORP
    ORP
    ORP
    ORP
    ORP
    [None, None, None, None, None]
    hors j'aimerai que l_serv ne contienne bien ORP , il faut dire que je découvre la fonction map , que je maitrise mieux en Perl...

    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 428
    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 428
    Points : 37 010
    Points
    37 010
    Par défaut
    Salut,

    Vous utilisez Python2 qui ne sera bientôt plus supporté.

    Et si vous écrivez map(f, '123'), vous obtiendriez la liste construite par les retours de f appliqués à '1', puis '2', ... Et si votre fonction ne retourne rien, par défaut, Python lui fera retourner None. Donc vous aurez [None, None, None]
    Ce que vous pouvez vérifier en tapant quelques lignes sous l'interpréteur Python:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> def f(c): pass
    ...
    >>> map(f, '123')
    [None, None, None]
    - W

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 735
    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 735
    Points : 31 060
    Points
    31 060
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par olivier1969 Voir le message
    hors j'aimerais que l_serv ne contienne bien ORP
    Je ne comprends pas cette phrase qui contient la première partie d'une négation (ne... pas) suivie par une affirmation (... bien). A vouloir aller à gauche et à droite en même temps, on finit écartelé...

    Citation Envoyé par olivier1969 Voir le message
    il faut dire que je découvre la fonction map , que je maitrise mieux en Perl...
    D'après ce que je lis dans la doc de Perl, elle a le même rôle aussi bien en Perl qu'en Python. L'instruction map(fonction, liste1) va générer une liste2 contenant chaque item de la liste1 passé par la fonction "fonction".
    Donc si liste2 ne contient pas ce que tu voudrais, tu as tout à fait le droit de tester manuellement ta fonction en lui passant un des éléments de liste1...

  4. #4
    Membre actif Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 152
    Points : 208
    Points
    208
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Vous utilisez Python2 qui ne sera bientôt plus supporté.
    - W
    Oui j'en suis bien conscient , mais les serveurs de prod liés à mon activité n'ont QUE python2

  5. #5
    Membre actif Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 152
    Points : 208
    Points
    208
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    D'après ce que je lis dans la doc de Perl, elle a le même rôle aussi bien en Perl qu'en Python. L'instruction map(fonction, liste1) va générer une liste2 contenant chaque item de la liste1 passé par la fonction "fonction".
    Donc si liste2 ne contient pas ce que tu voudrais, tu as tout à fait le droit de tester manuellement ta fonction en lui passant un des éléments de liste1...
    En Perl ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Liste_serveurs = sort map { $1 if $_ =~ /$RegexServ/ } glob ( $extract ) ;
    Mais bref n'aurait-il pas été plus simple de me dire :

    "hé , dugland, tu as oublié le return !! "

    Et dire que je me suis relu, relu, relu , tout comme mon premier message avec une faute et une "ne" qui traine , moi qui croyais être sur un forum Python , et non à l'académie française du "t'as pas le droit de faire des fautes de frappes" !!!

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 428
    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 428
    Points : 37 010
    Points
    37 010
    Par défaut
    Salut,

    Citation Envoyé par olivier1969 Voir le message
    Mais bref n'aurait-il pas été plus simple de me dire :

    "hé , dugland, tu as oublié le return !! "
    Je l'ai pensé très fort mais je m'applique à essayer de rester courtois.

    moi qui croyais être sur un forum Python , et non à l'académie française du "t'as pas le droit de faire des fautes de frappes" !!!
    Apprendre à relire ce que l'on écrit en français va avec relire ce qu'on écrit en Python... Si on est gribouille dans l'un, il y a des chances que vous soyez gribouille dans l'autre.

    - W

  7. #7
    Membre actif Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 152
    Points : 208
    Points
    208
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Je l'ai pensé très fort mais je m'applique à essayer de rester courtois.
    Tellement fort qu'il me semble l'avoir entendu , et je te remercie de ta courtoisie , mais que ça fait râler tout de même, 2h à tourner en rond pour rien ........

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 735
    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 735
    Points : 31 060
    Points
    31 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par olivier1969 Voir le message
    "hé , dugland, tu as oublié le return !! "
    Ben la vérité c'est que je ne l'ai même pas vu. Je me suis concentré sur ton map() et sur ta phrase et j'ai juste survolé la fonction.
    Et puis j'avais faim...

    Je savais juste que le souci ne pouvait pas provenir de map() donc c'est pour ça que je t'ai conseillé de tester ta fonction de façon unitaire.

    Citation Envoyé par olivier1969 Voir le message
    Et dire que je me suis relu, relu, relu ,
    Le print() c'est quand-même la base du debug...

    Citation Envoyé par olivier1969 Voir le message
    tout comme mon premier message avec une faute et une "ne" qui traine , moi qui croyais être sur un forum Python , et non à l'académie française du "t'as pas le droit de faire des fautes de frappes" !!!
    Déjà je ne t'ai rien dit pour l'emploi du futur au lieu du conditionnel. Ca restait compréhensible donc j'ai juste marqué le coup sans rien ajouter d'autre (d'autant plus que j'ai un peu réfléchi voir si un futur ne se justifiait pas quand-même). Mais pour ta phrase là je suis désolé je suis resté sec. Tu as le droit de faire des fautes de frappe tout comme j'en fais souvent mais là ça bloquait tout. On pouvait tout aussi bien la comprendre comme "ne pas vouloir" tout comme on pouvait la comprendre comme "vouloir" (la faute de frappe pouvait être des deux côtés).

    Et puis tu ne peux pas invoquer le forum Python pour justifier la négligence du français. Le français ce n'est pas un truc inventé juste pour faire chier les élèves et qu'on doit oublier sitôt le bac terminé. Il sert à la base à exprimer sa pensée de façon conçise et dénuée de toute ambigüité et devient aussi une marque de politesse qui évite au lecteur de lagguer à relire 10 fois un truc parce que le sens des mots va à l'encontre du sens général de la phrase. "a essayé" et "à essayer" se prononcent pareil mais ne signifient pas du tout la même chose.

  9. #9
    Membre actif Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 152
    Points : 208
    Points
    208
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Déjà je ne t'ai rien dit pour l'emploi du futur a...
    Et je sui bien d'acor avec toi , c'été pour takiné !!

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

Discussions similaires

  1. [AC-2007] Recherche dans liste de fichiers sharepoint à partir d'une table d'access
    Par kiwimama dans le forum VBA Access
    Réponses: 0
    Dernier message: 22/02/2016, 15h43
  2. Recherche dans un autre fichier
    Par damsmut dans le forum Excel
    Réponses: 2
    Dernier message: 30/09/2008, 15h42
  3. Recherche dans liste alpha
    Par Le Rital dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/06/2008, 10h11
  4. Recherche dans liste déroulante d'un formulaire
    Par _m0c_ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 27/08/2007, 16h55
  5. Réponses: 1
    Dernier message: 18/05/2006, 17h00

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