循环读取两个文件的内容

时间:2021-07-01 19:24:56

标签: python loops

我有两个文件:一个包含图像,另一个包含分割。我可以通过运行以下命令来读取两者:

import glob
nrrd_filenames = glob.glob('/Users/mostafa/Desktop/PyRadiomics/Labeled Segmentation/*')
nrrd_filenames.sort()

image_filenames = glob.glob('/Users/mostafa/Desktop/PyRadiomics/Image/*')
image_filenames.sort()

但是当我想运行这个命令时:

for i,file in enumerate(nrrd_filenames):
   cmd='pyradiomics '+file+' '+image_filenames[i]+' -o results'+str(i)+'.csv -f csv'
   os.system(cmd)

我会收到这个错误:

usage: pyradiomics image|batch [mask] [Options]
pyradiomics: error: unrecognized arguments: /Users/mostafa/Desktop/PyRadiomics/Image/CT_A0257.nrrd
usage: pyradiomics image|batch [mask] [Options]
pyradiomics: error: unrecognized arguments: /Users/mostafa/Desktop/PyRadiomics/Image/CT_G0045.nrrd

代码似乎无法读取 image_filenames 的内容。

1 个答案:

答案 0 :(得分:0)

您有两个文件路径:

/Users/mostafa/Desktop/PyRadiomics/Labeled Segmentation/* 是 nrrd 文件的路径。 /Users/mostafa/Desktop/PyRadiomics/Image/* 是图像文件的路径。

您的无效路径错误是图像目录中的一个 nrrd 文件,pyradiomics: error: unrecognized arguments: /Users/mostafa/Desktop/PyRadiomics/Image/CT_G0045.nrrd

您可能会遇到的另一个问题是目录名称中的空格。在构造命令时,您应该用下划线替换空格或使用引号。像 cmd='pyradiomics "'+file+'" "'+image_filenames[i]+'" -o results'+str(i)+'.csv -f csv' 这样的东西应该可以工作。

相关问题