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 en lecture un fichier avec un chemin variable [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Par défaut Ouvrir en lecture un fichier avec un chemin variable
    Bonjour,
    j'utilise PyCharm pour débugger un début de code.
    je cherche à ouvrir un fichier qui a un nom variable
    all_files
    et qui est stocké à un endroit variable également
    file
    et qui n'est pas forcément celui où est exécuté le code.
    Ma question est donc comment puis-je ouvrir un ficher en lecture a partir d'un chemin donnée par une variable (ligne 14 du code)?
    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
    28
    29
    30
    31
     
    encoding="utf8"
    import glob
    from matplotlib import pyplot as plt  # plots
    from numpy import genfromtxt
     
    # find files
    file="G:\Document\Test\ANY044"
    all_files = glob.glob(file + "/*.csv")
    if (len(all_files)) == 0:
        raise FileNotFoundError("No files found in directory : " + file)
     
    print("Import the file: " + str(all_files))
    g = open(all_files,'r')
    my_data = genfromtxt(g, delimiter=',')
     
    # create numpy 3D matrix
    # my_data = np.moveaxis(my_data, 1, 1)
    # create meta variables
    Nx = my_data.shape[1]
    Ny = my_data.shape[0]
     
    plt.figure()
    plt.imshow(my_data, cmap='jet')
               #extent=[min(x), max(x), min(y), max(y)])
    plt.xlabel("[cm]")
    plt.ylabel("[cm]")
    plt.title("Power density map")
    cbar = plt.colorbar()
    cbar.set_label("[Wm^2]")
    plt.show()
    Voilà.
    Merci

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

    glob.glob retourne une liste.
    Si all_files est une liste (de noms de fichiers), vous ne pourrez les ouvrir que l'un après l'autre (avec une boucle).

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

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Par défaut
    Si besoin voila mon code qui fonctionne:
    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
    28
    29
    30
    31
    32
     
    encoding="utf8"
    import glob
    from matplotlib import pyplot as plt  # plots
    from numpy import genfromtxt
     
    # find files
    file="G:\Document\Test\ANY044"
    all_files = glob.glob(file + "/*.csv")
    if (len(all_files)) == 0:
        raise FileNotFoundError("No files found in directory : " + file)
     
    print("Import the file: " + str(all_files))
    for all_files in glob.glob(file + "/*.csv"):
        g = open(all_files,'r')
        my_data = genfromtxt(g, delimiter=',')
     
    # create numpy 3D matrix
    # my_data = np.moveaxis(my_data, 1, 1)
    # create meta variables
        Nx = my_data.shape[1]
        Ny = my_data.shape[0]
     
        plt.figure()
        plt.imshow(my_data, cmap='jet')
                   #extent=[min(x), max(x), min(y), max(y)])
        plt.xlabel("[cm]")
        plt.ylabel("[cm]")
        plt.title("Power density map")
        cbar = plt.colorbar()
        cbar.set_label("[Wm^2]")
        plt.show()
    Merci W

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

Discussions similaires

  1. Lecture de fichier avec fread.Taille limitée?
    Par cheveche4 dans le forum C
    Réponses: 5
    Dernier message: 15/06/2007, 14h56
  2. lecture de fichier avec comparaison
    Par idsec dans le forum Web
    Réponses: 1
    Dernier message: 25/04/2007, 17h25
  3. lecture de fichier avec ftplib
    Par yggdrazil dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 14/10/2006, 21h47
  4. [Fichier] Comment ecrire ds 1 fichier avec 1 chemin
    Par Radagast dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 05/04/2005, 14h01
  5. [LG]Lecture de fichier avec une adresse internet
    Par forbin dans le forum Langage
    Réponses: 8
    Dernier message: 09/02/2005, 19h00

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