У меня есть файл, который содержит много файлов .fits и .dat.Во-первых, я хочу, чтобы они были разделены параметром и перемещены в другой файл (у меня есть эта часть сделано).Затем проблема заключается в том, что существует файл .dat с точно таким же именем для каждого файла .fits (например, kkk.fits, kkk_trl.dat), и я хочу, чтобы файл с тем же именем .dat перемещался вместе с файлом .fits вместе вновая папка.
import os
import glob
import pyfits
import shutil
for fitsName in glob.glob('*.fits'):
hdulist = pyfits.open(fitsName)
hdu = hdulist[0]
a = hdulist[0].header['OBJECT']
if a == "Bach":
shutil.move(fitsName, '/home/Bach/')
b == a + '.dat'
shutil.move(b, '/home/Bach/')
С помощью этого кода я могу с легкостью перемещать все файлы .fits, но файлы .dat остаются.
Приведенный ниже код близок к ответу, но даетДругая проблема в том, что на этот раз код пытается переместить файл с именем kkk.fits.dat с последней строки.Мне нужно, чтобы файл читался как kkk_trl.dat
import os
import glob
import pyfits
import shutil
for fitsName in glob.glob('*.fits'):
hdulist = pyfits.open(fitsName)
hdu = hdulist[0]
a = hdulist[0].header['OBJECT']
if a == "Bach":
shutil.move(fitsName, '/home/Bach/')
shutil.move((fitsName +'*.dat') , '/home/Bach/')
Последний шаг к решению приведен ниже.Этот временной код не выдает ошибку, но только файл .fits попадает в папку назначения, а файл .dat остается там.
import os
import glob
import pyfits
import shutil
for fitsName in glob.glob('*.fits'):
hdulist = pyfits.open(fitsName)
hdu = hdulist[0]
a = hdulist[0].header['OBJECT']
if a == "Bach":
shutil.move(fitsName, '/home/Bach/')
b = os.path.splitext(fitsName[0]) + '_trl.dat'
shutil.move(b, '/home/Bach/')