gpt4 book ai didi

python - 通过预先应用的参数 move 多个文件

转载 作者:行者123 更新时间:2023-12-01 08:05:57 25 4
gpt4 key购买 nike

我在 move 依赖文件时遇到问题。我有很多带有 2 个不同扩展名的文件。例如 ; xenian10.fits、xenian11.fits、xenian12.fits 每个都有一个具有不同扩展名的等效版本,如 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/')

move 所有不带.no ext 文件的文件。但是,我希望它仅链接到仅由代码前一行的“color”参数 move 到的 .fits 文件。因为目前如果只有 xenian10.fits 带有参数“color”,那么只有相应的 .fits 文件会 move ,所以该部分没问题,但之后我只想 move xenian10.no 文件,但是代码会 move 文件夹内的所有 .no 文件,忽略唯一 move 的 .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/')

关于python - 通过预先应用的参数 move 多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55530293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com