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 :

Fichier HDF-5: Existence d'un chemin dans l'arborescence


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 34
    Par défaut Fichier HDF-5: Existence d'un chemin dans l'arborescence
    Bonjour,
    Je vais reviens encore vous pour une nouvelle question...

    J'aimerai savoir comment vérifier l'existence ou non d'un chemin dans l'arborescence d'un fichier HDF-5...
    Je m'explique un peu plus... Dans mon script, j'ai besoin de récupérer des informations si bien sûr elles existent ! Ca me permettra de débugger et avoir un suivi...

    Je crois que pour un fichier normal c'est "os.path.exists" mais alors pour le chemin dans un fichier je n’en ai aucune idée... Je me demande même si c'est possible.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    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 815
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Akre6 Voir le message
    Je crois que pour un fichier normal c'est "os.path.exists" mais alors pour le chemin dans un fichier je n’en ai aucune idée... Je me demande même si c'est possible.
    Bonjour

    C'est quoi pour toi un fichier "normal" ??? Et un ".xls", il est "normal" ? Et un ".mp3" ? Et un ".hdf5" ???
    Donc voilà. Le terme "normal" n'existe pas en informatique. Un fichier c'est un contenant enregistré sur disque. Et ces contenants contiennent de l'octet. Ces octets lus par tel ou tel logiciel produiront une jolie musique sur tes hauts-parleurs, ou bien de jolies images sur ton écran, ou bien t'afficheront une feuille de calcul, et t'auras même des fichiers tout aussi "normal" qui pourront contenir d'autres fichiers. On nomme ces fichiers des fichiers "normaux" de type "répertoire" (ou "dossier").
    Ca c'était le premier point.

    Le second c'est quoi le "chemin dans un fichier" ? Un fichier est identifié par un chemin. Ce chemin peut-être un simple nom (dans ce cas l'OS recherchera ce nom à partir de ton dossier courant) ou bien plus complet en démarrant par un" /" et dans ce cas l'OS recherchera ce fichier à partir de la racine. Donc en fait t'as toujours quoi qu'il arrive un "chemin dans un fichier".
    Ainsi os.path.exists("/tmp") te renverra "True" ou "False" suivant que "/tmp" existe ou n'existe pas. Et la façon de voir "/tmp" est la même pour tout le monde...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    C'est quoi pour toi un fichier "normal" ??? Et un ".xls", il est "normal" ? Et un ".mp3" ? Et un ".hdf5" ???
    Bonsoir,
    Je pense qu'il y a méprise… Wiki
    https://en.wikipedia.org/wiki/Hierarchical_Data_Format
    This results in a truly hierarchical, filesystem-like data format. In fact, resources in an HDF5 file are even accessed using the POSIX-like syntax /path/to/resource. Metadata is stored in the form of user-defined, named attributes attached to groups and datasets. More complex storage APIs representing images and tables can then be built up using datasets, groups and attributes.
    Pour en revenir à la question, je n'y connais rien, mais, de ce que j'ai pu lire, il y a au moins deux bibliothèques python qui manipulent ce type de fichier (mais c'est une recherche très très rapide!!): h5py et pytables. Sur StackOverflow il semble de même y avoir quelques trucs.

    Clodion

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    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 815
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Clodion Voir le message
    Bonsoir,
    Je pense qu'il y a méprise… Wiki
    https://en.wikipedia.org/wiki/Hierarchical_Data_Format
    Ben je connais bien le hdf5 (j'ai déjà travaillé avec) mais dans ce que j'ai lu, j'ai compris qu'il souhaitait juste tester l'existence d'un fichier. Dans ce cas, on regarde si le fichier existe et basta.

    Si maintenant il veut trouver des hdf5 cachés derrière d'autres extensions, alors effectivement il faut utiliser une bibliothèque de manipulation de hdf5 pour examiner chaque fichier...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Si maintenant il veut trouver des hdf5 cachés derrière d'autres extensions
    Bonjour,
    Je ne connais pas ce format, mais dans les wiki j'avais compris que ces fichiers pouvaient contenir plusieurs "objets" disposés dans un système de répertoires (d'où la citation de wiki). (Une arborescence de type archive?)
    Et lorsque Akred écrit:

    Citation Envoyé par Akre6 Voir le message
    J'aimerai savoir comment vérifier l'existence ou non d'un chemin dans l'arborescence d'un fichier HDF-5...

    Je crois que pour un fichier normal c'est "os.path.exists" mais alors pour le chemin dans un fichier je n’en ai aucune idée... Je me demande même si c'est possible.
    je pense qu'il fait allusion à cette arborescence interne.
    Mais je n'ai peut-être pas tout compris…

    Clodion

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 34
    Par défaut
    Alors Clodion tu as bien compris. C'est un type de fichier qui contient pleins d'objets, dans des répertoires...Dans mon cas ça contient des valeurs de différentes études en 3D.
    Donc pour accéder à ces valeurs, je dois lui préciser le nom du fichier et le chemin à suivre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dRIC = h5py.File(fichier, "r")  ##Ouverture du fichier
    ##On etabli la chemin 
    adresse = '/Plants/' + sigle + '/Cycles/' + str(cycle) + '/Maps/' + str(Maps)+ '/Reconstruction/'+ 'Power'
    gRIC = dRIC[adresse]
    Du coup, j'utilise bien "h5py", j'ai cherché sur:
    http://docs.h5py.org/en/latest/high/...creating-files
    Alors à moins que j'ai rien compris en anglais, je ne vois pas ce qu'il peut m'aider.

    En soit, mon script marche bien, il récupère ce que je veux. Mais quand le chemin n'existe pas j'ai des messages d'erreur sur la console. J'aimerai ne pas en avoir pour des raisons de clarté.
    Sve@r, peut-on avec une bibliothèque de manipulation vérifier l’existence ou non d’un chemin (désolé si ce n’est pas le bon mot) ?

    Pour « fichier normaux » j’entendais un fichier qui a une adresse, qui est dans un répertoire. Là ce sont des objets dans un fichier… Désolé si je me suis mal exprimé.

  7. #7
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par Akre6 Voir le message
    Du coup, j'utilise bien "h5py", j'ai cherché sur:
    http://docs.h5py.org/en/latest/high/...creating-files
    Alors à moins que j'ai rien compris en anglais, je ne vois pas ce qu'il peut m'aider.
    Bonjour,
    Peut-être faire "suivant"!!
    Et ainsi voir les "groups": http://docs.h5py.org/en/latest/high/group.html, dans lequel il est précisé que chaque groupe est l'équivalent d'un dictionnaire en Python!
    Et des fonctions fort intéressantes telles que visit, get…

    Non??

    Clodion

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 34
    Par défaut
    Ok, je vais étudier ça. J’apprends un peu sur le tas (c’est mon deuxième script en python), donc je vais voir un peu plus sur ces fonctions.

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    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 815
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Akre6 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    adresse = '/Plants/' + sigle + '/Cycles/' + str(cycle) + '/Maps/' + str(Maps)+ '/Reconstruction/'+ 'Power'
    Plus simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    adresse="/Plants/%s/Cycles/%s/Maps/%s" % (sigle, str(cycle), str(Maps))
    Citation Envoyé par Akre6 Voir le message
    Sve@r, peut-on avec une bibliothèque de manipulation vérifier l’existence ou non d’un chemin
    En vérifiant l'existence d'un fichier, ça vérifie implicitement tout le chemin qui mène à ce fichier. Si tu n'as pas de fichier à vérifier mais un simple dossier (répertoire) hé bien un dossier étant lui-même (à la base) toujours un fichier, c'est pareil.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/04/2012, 16h12
  2. Réponses: 5
    Dernier message: 07/09/2011, 14h12
  3. Réponses: 2
    Dernier message: 05/07/2010, 10h37
  4. Chemins de fichiers dans l'arborescence d'un projet
    Par sg.forums dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 31/10/2006, 09h33
  5. [Conception] Enregistrer un fichier ou juste son chemin dans la base ?
    Par Greggggggg dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/09/2006, 14h00

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