import os
import h5py
os.chdir('C:\Users\dew')
file_names = ['3DSND_12MAY2016_0000_L1B_SA1.h5', '3DSND_12MAY2016_0100_L1B_SA1.h5', '3DSND_12MAY2016_0200_L1B_SA1.h5', '3DSND_12MAY2016_0300_L1B_SA1.h5', '3DSND_12MAY2016_0500_L1B_SA1.h5',
'3DSND_12MAY2016_0600_L1B_SA1.h5', '3DSND_12MAY2016_0600_L1B_SA1.h5', '3DSND_12MAY2016_0700_L1B_SA1.h5', '3DSND_12MAY2016_0800_L1B_SA1.h5',
'3DSND_12MAY2016_0900_L1B_SA1.h5', '3DSND_12MAY2016_1000_L1B_SA1.h5', '3DSND_12MAY2016_1200_L1B_SA1.h5', '3DSND_12MAY2016_1300_L1B_SA1.h5',
'3DSND_12MAY2016_1400_L1B_SA1.h5', '3DSND_12MAY2016_1500_L1B_SA1.h5', '3DSND_12MAY2016_1700_L1B_SA1.h5', '3DSND_12MAY2016_1900_L1B_SA1.h5',
'3DSND_12MAY2016_2000_L1B_SA1.h5', '3DSND_12MAY2016_2100_L1B_SA1.h5', '3DSND_12MAY2016_2200_L1B_SA1.h5']
new = list()
new = list()
for file_name in file_names:
print file_name
new = (h5py.File(file_name, 'r'))
print new
运行此命令时,得到以下输出:
3DSND_12MAY2016_0000_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0000_L1B_SA1.h5" (mode r+)>
3DSND_12MAY2016_0100_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0100_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_0200_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0200_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_0300_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0300_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_0500_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0500_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_0600_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0600_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_0600_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0600_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_0700_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0700_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_0800_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0800_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_0900_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_0900_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_1000_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_1000_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_1200_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_1200_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_1300_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_1300_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_1400_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_1400_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_1500_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_1500_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_1700_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_1700_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_1900_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_1900_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_2000_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_2000_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_2100_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_2100_L1B_SA1.h5" (mode r)>
3DSND_12MAY2016_2200_L1B_SA1.h5
<HDF5 file "3DSND_12MAY2016_2200_L1B_SA1.h5" (mode r)>
我这样做了,为了一起读取一堆H5文件并将它们分配给另一个列表。不幸的是,新列表在运行时只显示其中包含的单个文件。
但是在单独调用新列表时,只返回单个h5文件。
新
#output
答案 0 :(得分:0)
我不确定我是否理解你的问题。 如果您只想将名称复制到另一个新列表中,这就是它的工作原理
import java.util.ArrayList;
import java.util.List;
public class DynamicClassList {
public <T> List<T> myFunction(Class<T> inputClass) {
List<T> items = new ArrayList<T>();
for(int i = 0; i < 5; i++) {
try {
T myT = inputClass.getConstructor().newInstance();
items.add(myT);
} catch (Exception e) {
e.printStackTrace();
}
}
return items;
}
public static void main(String[] args) {
DynamicClassList dynamicClassList = new DynamicClassList();
List<Student> s = dynamicClassList.myFunction(Student.class);
List<Teacher> t = dynamicClassList.myFunction(Teacher.class);
List<Course> c = dynamicClassList.myFunction(Course.class);
}
}
您可以在此处找到有关列表的有用文档: https://docs.python.org/2/tutorial/datastructures.html
或者您想阅读HDF5文件的内容并将它们添加到一个HDF5文件中吗?然后,需要一个小信息HDF5-Files中的内容以及您想要的结果。 基本上你必须阅读你的一堆HDF5文件中的每个数据集,并将它们添加到另一个。 或者您想从HDF5文件中读取一个或多个数据集并将其添加到列表中?在此示例中,每个h5-File都有一个名为&#39; A&#39;。
的数据集new = []
for file_name in file_names:
new.append(file_name)