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 successivement tous les fichiers d'un répertoire [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Agronome é la retraite
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Agronome é la retraite
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Par défaut ouvrir successivement tous les fichiers d'un répertoire
    Bonjour et bonne année à tous,
    Débutant, et déjà embrouillé!

    Je suis sous Windows 10 et Python est dans c:\python. Je reçois sur c:/_python/data en provenance de mon système photo-voltaïque nombre de fichiers (8 par jour, 800 en stock), de structure identique et qui contiennent des éléments que je veux comparer (éléments SOC ci-dessous)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import os
    for aaa in 'c:/_Python/data':
        ofi=open('aaa','r')
        tt=ofi.read()                  # str
        ofi.close
        SOC = tt[666:670]
        print(SOC)
    réponse "No such file in directory"

    J'ai aussi essayé à partir du résultat de listdir, rien à faire
    Un coup de main ? svp!

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Si aaa est un nom il ne peut pas devenir une chaîne de texte à la ligne suivante.

    Ce que tu veux c'est itérer sur les fichiers contenus dans c:/_Python/data/ et pas sur les caractères de c:/_Python/data/

    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
     
    >>> for a in 'c:/_Python/data/':
    ...     print(a)
    ... 
    c
    :
    /
    _
    P
    y
    t
    h
    o
    n
    /
    d
    a
    t
    a
    /
    >>>
    vu ?

    Tu peux utiliser glob pour ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    import glob
     
    files = sorted(glob.glob('c:/_Python/data/*'))
     
    for file in files:
        with open(file, 'r') as inf:
            lines = inf.readlines()
     
        print(lines[666:670])
    pas testé.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Autre solution sans glob :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import os
     
    repertoire = 'c:/_Python/data'
     
    for nom in os.listdir(repertoire) :
        ofi=open(repertoire+"/"+nom,'r')
        #le reste, je copie-colle mais tout ce qu'il faut est au dessus
     
        tt=ofi.read()                  # str
        ofi.close
        SOC = tt[666:670]
        print(SOC)

  4. #4
    Membre averti
    Homme Profil pro
    Agronome é la retraite
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Agronome é la retraite
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Par défaut ouvrir successivement tous les fichiers d'un répertoire #3
    Merci les amis, cela marche, et accessoirement me permet de voir que les positions de mes variables ne sont pas identiques d'un fichier à l'autre, but that is another story (RK).

    Discussion closed.

    Mais quel éditeur pour avoir des n° de ligne?

    Merci encore

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Citation Envoyé par Seylione Voir le message

    Mais quel éditeur pour avoir des n° de ligne?
    Puisque tu as l'air sous Windows tu as Notepad++

    https://notepad-plus-plus.org/fr/

  6. #6
    Membre averti
    Homme Profil pro
    Agronome é la retraite
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Agronome é la retraite
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Par défaut Editeur
    Mais il n'a pas de "run" pour "Pyth"!
    Bonne soirée

  7. #7
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Citation Envoyé par Seylione Voir le message
    Mais il n'a pas de "run" pour "Pyth"!
    tu peux le faire en français ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/05/2018, 17h07
  2. Réponses: 2
    Dernier message: 05/03/2014, 10h03
  3. Réponses: 2
    Dernier message: 15/08/2006, 16h43
  4. Traiter tous les fichiers d'un répertoir sans les MFC.
    Par radicalrider dans le forum MFC
    Réponses: 12
    Dernier message: 21/06/2006, 17h18
  5. Réponses: 4
    Dernier message: 24/09/2004, 10h17

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