Je suis un peu confus au sujet d'une erreur que je reçois lors de l'utilisation h5py. J'essaie d'appliquer un script python pour faire défiler des ensembles de fichiers h5py situés dans des répertoires différents. Par exemple, le premier ensemble de fichiers h5py est situé àh5py OSError: Impossible d'ouvrir le fichier (signature de fichier non trouvé)
Reduced/rho=0.75/2/Data/snapshots
Quand je lance le script python de un sous-répertoire de réduction
Reduced/test_h5py
avec le script python suivant
import h5py
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as colors
import cmocean
import os
de.logging_setup.rootlogger.setLevel('ERROR')
# Plot writes
path = '../rho=0.75/2/Data/snapshots'
for filename in os.listdir(path):
with h5py.File(path+'/'+filename,'r') as file:
tout fonctionne bien, le script boucle à travers les données et me donne une sortie. Maintenant, la question se pose lorsque je tente d'appliquer le même script python à d'autres données iE à l'ensemble des fichiers h5py situés à
Reduced/rho=0.75/4/Data/snapshots
Maintenant, quand je lance le script python précédent avec juste une modification dans le chemin de 2 à 4
import h5py
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as colors
import cmocean
import os
de.logging_setup.rootlogger.setLevel('ERROR')
# Plot writes
path = '../rho=0.75/4/Data/snapshots'
for filename in os.listdir(path):
with h5py.File(path+'/'+filename,'r') as file:
Je reçois l'erreur suivante
Traceback (most recent call last):
File "newest_edit.py", line 17, in <module>
with h5py.File(path+'/'+filename,'r') as file:
File "/usr/local/lib/python3.5/site-packages/h5py/_hl/files.py", line 269, in __init__
fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr)
File "/usr/local/lib/python3.5/site-packages/h5py/_hl/files.py", line 99, in make_fid
fid = h5f.open(name, flags, fapl=fapl)
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "h5py/h5f.pyx", line 78, in h5py.h5f.open
OSError: Unable to open file (file signature not found)
quelqu'un peut-il donner un sens à ce sujet? J'ai pensé qu'il pourrait s'agir d'une erreur os.listdir() mais après la recherche, je n'ai rien trouvé pour résoudre le problème. Merci de votre aide.
EDIT:
j'oublié de mentionner. Lorsque je lance le script python dans un carnet Jupyter et que j'applique le script à des fichiers h5py individuels, cela fonctionne très bien pour les chemins 2 et 4. Les fichiers h5py s'ouvrent et je peux récupérer les données stockées sur eux, donc je ne peux pas imaginer que ce serait des fichiers corrompus ou non au format hdf5.
le message La signature de fichier introuvable indique que le fichier est corrompu ou non au format HDF5 –
@Fady Saad Désolé, j'ai oublié de le mentionner.Quand j'exécute le script python dans un cahier Jupyter et que j'applique le script à des fichiers h5py individuels, ça marche très bien, les fichiers h5py s'ouvrent et je peux récupérer des données, donc je ne peux pas imaginer que ce soit des fichiers corrompus au format hdf5. – Mattos