访问.zip存档文件中的文件而不提取它们

2024-10-04 01:29:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图读取.zip中的NIFTI文件,而不必将目录解压缩到根目录。更具体地说,我使用的是ADNI数据库,文件按subjectID存储在单独的.zip文件中。在.zip文件中有与该主题相关的所有数据,我想提取NIFTI文件(。广州)在.zip中,而不解压缩文件。在

目前我有以下代码片段

def openNIFTI(filename):
   return nib.load(filename).get_data()

zip_filename = filepath + str(subject_id) + '_3T_Structural_unproc.zip'
filename = str(subject_id) + '/unprocessed/3T/T1w_MPR1/' + str(subject_id) + '_3T_T1w_MPR1.nii.gz'

file = zf.extract(filename)
data = openNIFTI(file)

filepath是指向.zip文件集合的路径。filename是.zip文件中要提取的NIFTI文件的路径。在


(编辑)

错误似乎来自于nibabel加载函数。然后进行功能检查

^{pr2}$

在测试os.path.exists(文件名)函数独立我发现。在

os.path.exists(r'C:/Users/eee/workspace_python/Image Reconstruction/data/ADNI/MRI data/100206_3T_Structural_unproc.zip/100206/unprocessed/3T/T1w_MPR1/100206_3T_T1w_MPR1.nii.gz')

False

但是,此路径是从我试图打开的文件复制/粘贴的。在我看来,错误出现是由于文件路径中的.zip,因为

os.path.exists(r'C:/Users/eee/workspace_python/Image Reconstruction/data/ADNI/MRI data/100206_3T_Structural_unproc.zip')

True

有别的办法吗?在


Tags: 文件路径iddataoszipfilenamesubject