HDF5文件不能被Python分发包打开或打开



我正在使用Anaconda python分发包进行一些hdf5文件分析。该软件包带有numpy,matplotlib,scipy和h5py。今天我下载了一个hdf5文件,并将其保存在路径为/home/trina/Pictures/ligoData的目录中。在同一个目录中,我保存了一个文件plot_strain.py该文件,该文件应该读取并执行 hdf5 文件。

我的程序看起来像这样。

#----------------------
# Import needed modules
#----------------------
import numpy as np
import pylab as plt
import h5py
#-------------------------
# Open the File
#-------------------------
fileName = 'H-H1_LOSC_4_V1-815411200-4096.hdf5'
dataFile = h5py.File(fileName, 'r')
#----------------------
# Explore the file
#----------------------
for key in dataFile.keys():
    print key

但是当我尝试在蟒蛇中执行.py时,与

>>> execfile('/home/trina/Pictures/ligoData/plot_strain.py')

出现错误消息

Python 2.7.8 |Anaconda 2.1.0 (64-bit)| (default, Aug 21 2014, 18:22:21) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> execfile('/home/trina/Pictures/ligoData/plot_strain.py')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/trina/Pictures/ligoData/plot_strain.py", line 12, in <module>
    dataFile = h5py.File(fileName, 'r')
  File "/home/trina/anaconda/lib/python2.7/site-packages/h5py/_hl/files.py", line 222, in __init__
    fid = make_fid(name, mode, userblock_size, fapl)
  File "/home/trina/anaconda/lib/python2.7/site-packages/h5py/_hl/files.py", line 79, in make_fid
    fid = h5f.open(name, h5f.ACC_RDONLY, fapl=fapl)
  File "h5f.pyx", line 71, in h5py.h5f.open (h5py/h5f.c:1797)
IOError: Unable to open file (Unable to open file: name = 'h-h1_losc_4_v1-815411200-4096.hdf5', errno = 2, error message = 'no such file or directory', flags = 0, o_flags = 0)

你能告诉我这个错误的原因吗?似乎根本找不到该文件,尽管它们位于名为 ligoData 的同一文件夹中。

尝试在 plot_strain.py 中为 filename 变量提供完整的绝对路径。execfile 语句只是读取并执行给定文件中的行,因此它可能在您启动 anaconda 提示符的目录中搜索。

最新更新