基于字典在循环中定义变量

2024-05-29 07:22:52 发布

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

我正在使用Python3.x和Pydicom将DICOM转换为PNG。读取DICOM头标记时偶尔会出现错误,导致脚本崩溃。到目前为止,我一直通过使用以下异常来解决此问题:

try: studyd = ds.StudyDate
except: studyd = ''
pass
...

这种重复的方法延长了代码

不幸的是,通过定义包含Pydicom头和目标变量的字典并在其中循环,我无法优化代码。我怎样才能用这样的东西做到这一点:

ds = pydicom.dcmread()
tags = { 'StudyDate': 'studyd', 'Modality': 'modal', 'PatientName': 'patname', etc.}
for key, val in tags.items():
...

Tags: 代码标记脚本png错误tagsdspass
1条回答
网友
1楼 · 发布于 2024-05-29 07:22:52

试试这个:

ds = pydicom.dcmread()
tags = { 'StudyDate': 'studyd', 'Modality': 'modal', 'PatientName': 'patname', etc.}
header_dict = dict()
for key, val in tags.items():
    header_dict[val] = getattr(ds, key)
print(header_dict)

使用getattr获取头值并将其存储在dict中,与指定的名称相对应

相关问题 更多 >

    热门问题