如何在python中保存多个不同文件名的文件



我想用不同的文件名保存每个文件。我知道如何对单个文件进行如下操作:

nib.Nifti1Image(wt, affine).to_filename(os.path.join(output_dir, data_file.root.subject_ids[data_index].decode()+"_unc_whole.nii.gz"))
nib.Nifti1Image(tc, affine).to_filename(os.path.join(output_dir,data_file.root.subject_ids[data_index].decode()+ "_unc_core.nii.gz"))
nib.Nifti1Image(et, affine).to_filename(os.path.join(output_dir,data_file.root.subject_ids[data_index].decode()+ "_unc_enhance.nii.gz")) 
nib.Nifti1Image(alea, affine).to_filename(os.path.join(output_dir, data_file.root.subject_ids[data_index].decode()+"_alea.nii.gz"))

如何使用for循环来实现这一点,这样就不必为每个单独的文件重复该函数了?

作为一个简单的解决方案,您可以使用zip:

alist = [wt, tc, et, alea]
blist = ["_unc_whole.nii.gz", "_unc_core.nii.gz", "_unc_enhance.nii.gz", "_alea.nii.gz"]
for a, b in zip(alist, blist):
nib.Nifti1Image(a, affine).to_filename(os.path.join(output_dir, data_file.root.subject_ids[data_index].decode() + b))

最新更新