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 :

Ouvrir fichier en connaissant qu'une partie de son nom ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Par défaut Ouvrir fichier en connaissant qu'une partie de son nom ?
    Bonjour,
    j'ai des fichiers qui vont se créer dot je ne connais as le nom complet.

    par exemple :
    import os, sys, csv
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GDT = open("//nas.profa.ch/ICC-PROFA/IN\AN.GDT","r")
    serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     GDT = open("//nas.profa.ch/ICC-PROFA/IN\AN01.GDT","r")
    Comment pouvoir récupérer cela "AN*.GDT" ?

    Merci d'avance,

    Muller Guy

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

    Vous pouvez récupérer la liste des noms de fichiers qui matchent "AN*.GDT" avec glob.glob puis en ouvrir certains.

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

  3. #3
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Par défaut
    Bonjour, merci pour votre réponse,
    J'ai choisi fnmatch !

    J'ai toutefois une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    import os, sys, csv,  fnmatch
     
    import os, sys, csv,  fnmatch
     
    for Sfile in os.listdir('D:\ProjetNew\PROFA_DONNEES\GDT'):
        if fnmatch.fnmatch(Sfile, 'ADR*.GDT'):
                GDT = open('D:\ProjetNew\PROFA_DONNEES\GDT\' + Sfile,"r")
     
    f=[];
     
    for i in range(13):
     f.append(GDT.readline().strip())
     
    NumClient = (f[6])
    NumClient = NumClient[7:];
    Nom  = (f[7]);
    Nom =Nom[7:];
    Prenom  = (f[8]);
    Prenom =Prenom[7:];
    DN  = (f[9]);
    DN =DN[7:];
    Ville  = (f[10]);
    Ville =Ville[7:];
    Adresse  = (f[11]);
    Adresse =Adresse[7:];
    print(NumClient)
    J'ai une erreur sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GDT = open('D:\ProjetNew\PROFA_DONNEES\GDT\' + Sfile,"r")
    Merci d'avance,

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    Bonjour,

    Pour pouvoir t'aider au mieux, il faudrait que tu nous donnes l'erreur que tu obtiens.
    En général, le 'Tracback' est suffisant pour trouver l'origine du problème et sa solution ou au moins reste une bonne indication pour la suite des investigations.

    A+

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par Muller Guy Voir le message
    J'ai une erreur sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GDT = open('D:\ProjetNew\PROFA_DONNEES\GDT\' + Sfile,"r")
    Comme c'est une erreur courante, une recherche sur Internet pour voir ce dont il s'agit avant de ne même pas poster l'erreur... vous ferait gagner du temps.

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

  6. #6
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Par défaut
    Bonjour, désolé mais je ne vois pas l'erreur.


    Si je ne mets pas de \ après "D:\ProjetNew\PROFA_DONNEES\GDT" j'ai une message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileNotFoundError: [Errno 2] No such file or directory: 'D:\\ProjetNew\\PROFA_DONNEES\\GDTADR01.GDT'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for Sfile in os.listdir('D:\ProjetNew\PROFA_DONNEES\GDT'):
        if fnmatch.fnmatch(Sfile, 'ADR*.GDT'):
                GDT = open('D:\ProjetNew\PROFA_DONNEES\GDT\' +Sfile,"r");
    J'ai un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EOL while scanning string literal !

    Merci d'avance pour votre aide.

    Muller Guy

  7. #7
    Membre Expert

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Par défaut
    Bonjour,

    Je débute sur Python mais lorsque tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for Sfile in os.listdir('D:\ProjetNew\PROFA_DONNEES\GDT'):
    , tu es déjà dans le dossier GDT non ?

    As-tu essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for Sfile in os.listdir('D:\ProjetNew\PROFA_DONNEES\GDT'):
        if fnmatch.fnmatch(Sfile, 'ADR*.GDT'):
                GDT = open(Sfile,"r");

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par Muller Guy Voir le message
    Bonjour, désolé mais je ne vois pas l'erreur.
    Ben EOL while scanning string literal ! suggère d'allez vois ce qu'il se passe en fin de chaine de caractères et effectivement c'est le '\' qui traîne:
    Citation Envoyé par Muller Guy Voir le message
    Si je ne mets pas de \ après "D:\ProjetNew\PROFA_DONNEES\GDT"
    Il ouvre une séquence d’échappement et çà attend le caractère suivant pour savoir quoi faire....
    Et comme on est arrivé à la fin de la chaîne de caractères, il n'y a plus qu'à tout jeter en erreur.
    Il faut le doubler ou utiliser des '/' à la place ou utiliser os.path.join.

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

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

Discussions similaires

  1. [XL-2010] Ouvrir fichier Excel avec une partie de son nom
    Par juluseless dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/10/2014, 15h12
  2. [XL-2007] Ouverture d'un fichier en fonction d'une partie de son nom
    Par Yamiral dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/11/2012, 18h02
  3. [XL-2002] Sélectionner fichier en fonction d'une partie de son nom
    Par johan89 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/11/2011, 21h48
  4. Recherche d'un repertoire avec une partie de son nom[D7] [XP]
    Par LHT dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 21/08/2009, 17h28
  5. Réponses: 2
    Dernier message: 18/01/2007, 22h05

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