Erreur d'ouverture de fichier dans H5PY (signature du Fichier non trouvé)
J'ai été en utilisant le code suivant pour ouvrir certains HDF5 fichiers, produit dans MATLAB, python à l'aide de H5PY:
import h5py as h5
data='dataset.mat'
f=h5.File(data, 'r')
Cependant j'obtiens l'erreur suivante:
OSError: Unable to open file (File signature not found)
J'ai vérifié que les fichiers que j'essaie d'ouvrir la version 7.3 MAT-fichiers format HDF5. En fait, j'ai utilisé H5PY pour ouvrir les fichiers avec succès avant. J'ai confirmé que les fichiers existent et sont accessibles, donc je ne suis pas vraiment sûr où l'erreur provient de. Tout conseil serait grandement apprécié, merci d'avance : )
OriginalL'auteur Anisha Singh | 2016-06-29
Vous devez vous connecter pour publier un commentaire.
Habituellement le message
File signature not found
indique soit:1. Votre fichier est corrompu.
... est ce que je pense est le plus probable. Vous avez dit que vous avez ouvert les fichiers avant. Peut-être que vous avez oublié de fermer votre descripteur de fichier qui peut corrompre le fichier.
Essayez de vérifier le fichier avec l'HDF5 utilitaire
h5debug
(disponible sur la ligne de commande si vous avez installé le hdf5 lib de votre système d'exploitation, vérifiez auprès dedpkg -s libhdf5-dev
sur Linux).2. Le fichier n'est pas au format HDF5.
C'est une cause connue pour votre message d'erreur. Mais puisque vous avez dit que vous avez fait en sorte, que ce soit le cas et que vous avez ouvert les fichiers avant, je suis en train de faire cela juste pour la référence, pour d'autres qui peuvent trébucher ici:
Depuis décembre 2015 (à partir de la version 7.3), Matlab fichiers, utilisez le format HDF5 dans leur TAPIS de Fichier de Niveau 5 Conteneurs (plus doc). Version antérieure MAT-fichiers (v4 (Niveau 1.0), v6 et v7 à 7,2) sont pris en charge et peuvent être lus avec le
scipy
bibliothèque:Sinon, vous pouvez essayer d'autres méthodes et voir si l'erreur persiste:
PyTables est une alternative à h5py et d'être trouvé ici.
Python, MATLAB Moteur est une alternative à lire TAPIS de fichiers, si vous avez installé matlab. La Documentation se trouve ici: MATLAB API du Moteur pour Python.
OriginalL'auteur Honeybear
J'ai été confrontée au même problème avec mon .h5 fichier. Et le problème était que je n'étais pas à télécharger le fichier .h5 fichier correctement.
Je faisais nom de fichier.h5->right_click->enregistrer le lien sous, ce qui n'était pas à télécharger le fichier correctement(ou peut-être le fichier a été corrompu). Au lieu de cela, j'ai téléchargé le fichier : cochez la case avec le nom de fichier.h5 et cliqué sur télécharger et après que mon code a fonctionné.
Peut-être cela aide ceux qui sont en train de faire la même erreur.
OriginalL'auteur fateh
Habituellement, cela se produit lorsque les fichiers sont corrompus. J'ai été confronté à ce problème et téléchargé à nouveau le fichier et il résout les problèmes.
OriginalL'auteur Dharmendra Singh