我正在尝试使用此代码和包读取FITS文件并将其从一个文件夹移动到另一个文件夹shutil:
MATISSE_DIR_N = MATISSE_DIR+'N'
MATISSE_DIR_LM = MATISSE_DIR+'LM'
MATISSE_DIR_TRASH = MATISSE_DIR+'TRASH'
for filenames in glob.glob(MATISSE_DIR+'*.fits'):
print(filenames)
FOLDER_FLAG_LM = False
FOLDER_FLAG_N = False
FOLDER_FLAG_TRASH = False
if 'IR-N' in filenames:
FOLDER_FLAG_N = True
elif 'IR-LM' in filenames:
FOLDER_FLAG_LM = True
fichier = fits.open(filenames)
# VISIBILITY
# Visibility_2_fichier = fichier["OI_VIS2"].data["VIS2DATA"]
fichier.close()
if np.logical_and(FOLDER_FLAG_TRASH==False,FOLDER_FLAG_N==True):
shutil.move(filenames,MATISSE_DIR_N+'/')
elif np.logical_and(FOLDER_FLAG_TRASH==False,FOLDER_FLAG_LM==True):
shutil.move(filenames,MATISSE_DIR_LM+'/')
elif FOLDER_FLAG_TRASH == True :
shutil.move(filenames,MATISSE_DIR_TRASH+'/')
这完美地工作,但是当我取消注释注释行时:
Visibility_2_fichier = fichier["OI_VIS2"].data["VIS2DATA"]
这不再有效并会出现以下错误:
runfile('C:/Users/jdrevon/Desktop/THESE/Modeling/DATA_SORTING/untitled0.py', wdir='C:/Users/jdrevon/Desktop/THESE/Modeling/DATA_SORTING')
C:/Users/jdrevon/Desktop/THESE/DATA/DATA_RSCL_test/NOMEANBCD\NAMEOFMYFILE
Traceback (most recent call last):
File "C:\Users\jdrevon\anaconda3\lib\shutil.py", line 788, in move
os.rename(src, real_dst)
PermissionError: [WinError 32] Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus: 'C:/Users/jdrevon/Desktop/THESE/DATA/DATA_RSCL_test/NOMEANBCD\\NAMEOFMYFILE' -> 'C:/Users/jdrevon/Desktop/THESE/DATA/DATA_RSCL_test/NOMEANBCD/LM/NAMEOFMYFILE'
我不明白为什么fichier.close()当您开始存储来自数据文件的数据时,该命令不再足以关闭文件。我已经尝试过用with我的代码版本来打开文件,但这并没有改变任何东西。
狐的传说
相关分类