astropy.table.write()IOError:文件存在:

时间:2015-11-02 00:10:42

标签: python astropy

我使用astropy.table.write(filename,path = run_dir)将astropy表写入名为dat.h5的文件中。但是我收到文件存在的错误,我在下面用pdb跟踪显示它没有。发生了什么事?

(Pdb) run_dir
'/Users/ms/run0'

(Pdb) os.system("ls " + run_dir)
param.txt    temp_in.dat  temp_out.dat
0

(Pdb) os.path.exists(run_dir + '/dat.h5')
False

(Pdb) dat_cube.write('dat.h5', format='hdf5', path=run_dir)
*** IOError: File exists: dat.h5

1 个答案:

答案 0 :(得分:2)

path变量应该是 hdf5文件中的路径(请参阅http://docs.astropy.org/en/stable/api/astropy.io.misc.hdf5.write_table_hdf5.html#astropy.io.misc.hdf5.write_table_hdf5;您可以在source中看到路径变量是不用于exists检查)。它不是文件系统路径,因此您的os.path.exists检查似乎在错误的位置。

所以,(1)检查os.getcwd并查看是否存在dat.h5,以及(2)尝试dat_cube.write(os.path.join(runpath, 'dat.h5'), format='hdf5', path="mypath")