1
我正在使用astropy.table.write(filename,path = run_dir)將一個astropy表寫入名爲dat.h5的文件。但是我收到文件存在的錯誤,我在下面用pdb跟蹤顯示它沒有。到底是怎麼回事?astropy.table.write()IOError:文件存在:
(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
我確實看到'dat.h5'存在於cwd中。使用os.path.join但忽略path =仍然會產生相同的錯誤。應該「runpath」和「mypath」是什麼。應該「runpath」是順時針嗎?和「mypath」我想要寫文件的地方? – astromonerd
mypath是* not *文件路徑,它是hdf5文件中的內部路徑(或者至少,這就是我讀取它的方式)。在這種情況下,'runpath'應該是'cwd' – keflavich
對。由於該名稱的文件已經存在於當前的工作目錄中,因此您正確地獲取錯誤,這是您在任何時候只給文件名寫入的內容。要覆蓋它,請使用overwrite = True選項來寫入()。要寫入其他地方,請使用write(os.path.join(path,filename))。 – Iguananaut