我在移动依赖文件时遇到问题。我有很多文件有 2 个不同的扩展名。例如 ; xenian10.fits、xenian11.fits、xenian12.fits 并且对于每个都有一个具有不同扩展名的等效版本,例如 xenian10.no、xenian11.no、xenian12.no 等等。所有的 .fits 文件都包含一个不同的参数,所以它是这样的;import osimport globimport shutilimport pyfitsfor 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 文件的文件。但是,我希望它仅链接到仅由代码前一行中的“颜色”参数移动到的 .fits 文件。因为目前如果只有 xenian10.fits 带有参数“color”等等,那么只有相应的 .fits 文件移动,所以这部分没问题,但之后我只想移动 xenian10.no 文件,但是代码移动文件夹中的所有 .no 文件不考虑移动的唯一 .fits 是 xenian10.fits。
1 回答
九州编程
TA贡献1785条经验 获得超4个赞
问题仅在于缩进。
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/')
添加回答
举报
0/150
提交
取消