我有移动依赖文件的问题。我有很多文件有2个不同的exts。例如 ; xenian10.fits,xenian11.fits,xenian12.fits和每个都有一个带有不同ext的equilevant版本,如xenian10.no,xenian11.no,xenian12.no等等。
所有.fits文件都包含一个不同的参数,所以就像这样;
import os
import glob
import shutil
import pyfits
for fitsName in glob.glob('*.fits'):
hdulist = pyfits.open(fitsName)
hdu = hdulist[0]
a= hdulist[0].header['ITEM']
if a == "color":
shutil.move(fitsName, '/home/color/')
b = os.path.splitext(fitsName)[O] + '.no'
shutil.move(b, '/home/color/')
if a == "smell":
shutil.move(fitsName, '/home/smell/')
b = os.path.splitext(fitsName)[O] + '.no'
shutil.move(b, '/home/smell/')
这里的问题是包含splitex的第一行;
b = os.path.splitex(fitsName)[O] + '.no'
shutil.move(b, '/home/color/')
使用.no ext文件移动所有文件。但是,我希望它只链接到仅由代码的上一行的“color”参数移动到的.fits文件。因为目前只有xenian10.fits在所有其他参数中使用参数“color”,所以只有相应的.fits文件移动,所以该部分没问题,但之后我只想移动xenian10.no文件,但代码移动文件夹中的所有.no文件都忽略了唯一移动的.fits是xenian10.fits。
问题只有缩进。
import os
import glob
import shutil
import pyfits
for fitsName in glob.glob('*.fits'):
hdulist = pyfits.open(fitsName)
hdu = hdulist[0]
a= hdulist[0].header['ITEM']
if a == "color":
shutil.move(fitsName, '/home/color/')
b = os.path.splitext(fitsName)[O] + '.no'
shutil.move(b, '/home/color/')
if a == "smell":
shutil.move(fitsName, '/home/smell/')
b = os.path.splitext(fitsName)[O] + '.no'
shutil.move(b, '/home/smell/')