Ich bin etwas verwirrt über einen Fehler, den ich bei der Verwendung von h5py erhalte. Ich versuche, ein Python-Skript anzuwenden, um Sätze von h5py-Dateien in verschiedenen Verzeichnissen zu durchlaufen. Zum Beispiel wird der erste Satz von h5py Dateien aufh5py OSError: Datei kann nicht geöffnet werden (Dateisignatur nicht gefunden)
Reduced/rho=0.75/2/Data/snapshots
befindet Wenn ich den Python-Skript von ein Unterverzeichnis von Reduced
Reduced/test_h5py
mit dem folgenden Python-Skript
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:
laufe
alles funktioniert gut, das Skript durchläuft die Daten und gibt mir eine Ausgabe. Nun stellt sich die Frage, wenn ich versuche, das gleiche Python-Skript zu anderen Daten in dem Satz von h5py Dateien auf
Reduced/rho=0.75/4/Data/snapshots
Jetzt befindet sich also bewerben, wenn ich ausführen, um die vorherigen Python-Skript mit nur einer Änderung in dem Weg von 2 zu 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:
ich die folgende Fehlermeldung erhalten
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)
Kann jemand Sinn davon? Ich dachte, es könnte ein os.listdir() Fehler sein, aber nach der Suche habe ich nichts gefunden, um das Problem zu lösen. Danke für Ihre Hilfe.
EDIT:
Ich vergaß zu erwähnen. Wenn ich das Python-Skript in einem Jupyter-Notizbuch ausführe und das Skript auf einzelne h5py-Dateien anwende, funktioniert es sowohl für die Pfade 2 als auch 4 gut. Die h5py-Dateien öffnen sich und ich kann die auf ihnen gespeicherten Daten abrufen, so dass ich mir nicht vorstellen kann, dass es beschädigte Dateien oder nicht im hdf5-Format sein würde.
die Nachricht Dateisignatur nicht gefunden schlägt vor, die Datei ist entweder beschädigt oder nicht im HDF5-Format –
@Fady Saad Sorry, ich habe vergessen zu erwähnen.Wenn ich das Python-Skript in einem Jupyter-Notizbuch ausführe und das Skript auf einzelne h5py-Dateien anwende, funktioniert es einwandfrei, die h5py-Dateien öffnen sich und ich kann Daten abrufen, daher kann ich mir nicht vorstellen, dass es beschädigte Dateien oder nicht im hdf5-Format sein würde. – Mattos