Python 2.7 在HDF5文件列表上循环
我想循环一个.HDF5数据文件列表,然后进行一些操作。因此,为了不使每个文件上的每个操作都是单独的,我想对它进行循环。 我做了以下的Python 2.7 在HDF5文件列表上循环,python-2.7,hdf5,Python 2.7,Hdf5,我想循环一个.HDF5数据文件列表,然后进行一些操作。因此,为了不使每个文件上的每个操作都是单独的,我想对它进行循环。 我做了以下的 import os import h5py # Read in 2A.GPM.DPR os.chdir('/home/unix/Desktop/source') file_name = ['2A.GPM.DPR.V6-20160118.20150620-S060925-E074157.007431.V04A.HDF5', '2A.GPM
import os
import h5py
# Read in 2A.GPM.DPR
os.chdir('/home/unix/Desktop/source')
file_name = ['2A.GPM.DPR.V6-20160118.20150620-S060925-E074157.007431.V04A.HDF5',
'2A.GPM.DPR.V6-20160118.20150801-S100900-E114133.008087.V04A.HDF5']
for n in file_name:
print n
#
f = h5py.File(file_name, 'r')
##
在此之后,我得到以下错误
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-26-e6813194d502> in <module>()
6 print n
7 #
----> 8 f = h5py.File(file_name, 'r')
/home/unix/anaconda2/lib/python2.7/site-packages/h5py/_hl/files.pyc in __init__(self, name, mode, driver, libver, userblock_size, swmr, **kwds)
265 # encoding, just pass it on as-is. Note Unicode
266 # objects can always be encoded.
--> 267 name = name.encode(sys.getfilesystemencoding())
268 except (UnicodeError, LookupError):
269 pass
AttributeError: 'list' object has no attribute 'encode'
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
6印刷品
7 #
---->8 f=h5py.File(文件名'r')
/home/unix/anaconda2/lib/python2.7/site-packages/h5py//u hl/files.pyc in_uu_u_uinit_uu(self、name、mode、driver、libver、userblock_size、swmr、**kwds)
265#编码,按原样传递即可。注意Unicode
266#对象始终可以进行编码。
-->267 name=name.encode(sys.getfilesystemencoding())
268除(UnicodeError、LookupError)外:
269通行证
AttributeError:“list”对象没有属性“encode”
你知道这个错误是什么吗?
谢谢你的帮助 您没有打开文件,而是向
.File
方法提供一个列表。您应该将代码更改为以下内容:
import os
import h5py
# Read in 2A.GPM.DPR
os.chdir('/home/unix/Desktop/source')
file_names = ['2A.GPM.DPR.V6-20160118.20150620-S060925-E074157.007431.V04A.HDF5',
'2A.GPM.DPR.V6-20160118.20150801-S100900-E114133.008087.V04A.HDF5']
for file_name in file_names:
print file_name
#
f = h5py.File(file_name, 'r')
##
您正在循环浏览文件名列表,并一次提供一个文件名
我希望这有帮助