我有20,000个PosixPath,每个指向一个不同的.dcm对象。我需要逐个读取.dcm对象。到目前为止,这是我的代码:
from pathlib import Path
import glob
import dicom
data = Path('/data')
path_to_dcm_objects = list(data.glob('**/*.dcm'))
for i in len(path_to_dcm_objects):
record = dicom.read_file(path_to_dcm_objects[i])
当我想使用其PosixPath读取.dcm文件时出现错误:
AttributeError: 'PosixPath' object has no attribute 'read'
任何帮助都将不胜感激。
答案 0 :(得分:1)
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = Integer.parseInt(sc.nextLine());
switch ((1 <= num && num <= 5 ) ? 0 :
(6 <= num && num <= 10) ? 1 : 2) {
case 0:
System.out.println("I'm between one and five inclusive.");
break;
case 1:
System.out.println("I'm between 6 and 10 inclusive.");
break;
case 2:
System.out.println("I'm not between one and five or 6 and 10 inclusive.");
break;
}
}
}
需要一个打开的文件对象或一个不是dicom.read_file()
实例的路径的字符串。如果它不是字符串,则认为它是一个打开的文件并尝试从中读取。
将Path
实例转换为包含Path
的字符串:
str(path_object)
将for i in len(path_to_dcm_objects):
record = dicom.read_file(str(path_to_dcm_objects[i]))
对象转换为字符串的帮助:
返回适合的路径的字符串表示形式 传递给系统调用。
您也可以使用:
Path
这会给你一个Posix路径:
BTW,迭代所有路径的pythonic方式看起来更像是这样:使用forward(/)返回路径的字符串表示形式 斜杠。
path_object.as_posix()