我正在使用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
但是当我尝试使用
执行anaconda中的.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的同一文件夹中。
答案 0 :(得分:2)
尝试在plot_strain.py中为filename变量提供完整的绝对路径。 execfile语句只读取并执行给定文件中的行,因此它可能在您启动anaconda提示符的目录中搜索。