如何将字符串拆分为字典和 return 特定的字典值?

How to split string into dictionary and return a specific dictionary value?

这里 Python 很新。

我有一个 python 脚本来评估数据合同的每一行,并根据一组标准提取某些值。我需要修改脚本,现在还从 DataMember 行中提取名称值。但是,我在使用新的 ExtractDataMemberName 函数时遇到了问题。

首先,我有一个函数,它使用此 for 语句遍历文件的每一行:

for line in file:
        if IsDataMemberAttribute(line):
            name = ExtractDataMemberName(line)
        elif ...

ExtractDataMemberName(line) 函数中,我需要 return 字符串中的 Name 值,如下所示的示例输入行。请注意,DataMember 行中属性的数量和顺序可能会有所不同。

示例输入:

"[DataMember(Name = "version", EmitDefaultValue = false, Order = 5)]"

预期输出:

version

我尝试了几种方法,包括尝试 lstrip [DataMember(" 和 rstrip )],然后尝试将结果字符串拆分到字典中以便我可以找到 Name 值,但是我无法让它工作。

谁能推荐从这样的字符串中提取名称值的最佳方法?

使用拆分有点难看:

s = '[DataMember(Name = "version", EmitDefaultValue = false, Order = 5)]'

print(s.split("Name =")[1].split(",")[0].strip()[1:-1])
version

或使用re:

import re

print(re.findall("Name\s+=\s+\"(.*?)\",",s)[0])
version