Python 将dict元素转换为字符串以搜索w/regex的问题

Python 将dict元素转换为字符串以搜索w/regex的问题,python,dictionary,Python,Dictionary,这一条最好概括为“Python不让我做蠢事”,但我离题了——我有一个坏习惯,就是把XML转换成字符串,这样我就可以使用正则表达式从中提取一些东西,而不是真正做一个好人,做Xpath事情 目前我遇到了一个问题,我正在遍历一个dict列表(dict本身有好几层,包含编码的XML)。我正在尝试执行re.findall(pattern,str(listitem)),这给了我一个“unhabable type:'DictionaryElement'”错误。有什么想法吗 编辑:这是使用biopython的p

这一条最好概括为“Python不让我做蠢事”,但我离题了——我有一个坏习惯,就是把XML转换成字符串,这样我就可以使用正则表达式从中提取一些东西,而不是真正做一个好人,做Xpath事情

目前我遇到了一个问题,我正在遍历一个dict列表(dict本身有好几层,包含编码的XML)。我正在尝试执行re.findall(pattern,str(listitem)),这给了我一个“unhabable type:'DictionaryElement'”错误。有什么想法吗

编辑:这是使用biopython的pubmed API资料:

handle = Entrez.efetch(db="pubmed", id=pmids, retmode="xml")
records = Entrez.read(handle)
records = list(records)

meshterms = {}
for y in records:
    meshterms[y] = re.findall(r'(?<=DescriptorName\'\:\sStringElement\(\').+?(?=\')',str(y))
handle=Entrez.efetch(db=“pubmed”,id=pmids,retmode=“xml”) 记录=Entrez.read(句柄) 记录=列表(记录) meshterms={} 对于记录中的y:
meshterms[y]=re.findall(r’(?好吧,这真的很奇怪,但我能做到如下:

scratch = open("mcs_scratch.txt","wb")
scratch.write(str(y))
scratch = open("mcs_scratch.txt","r")
y = str(scratch.read())

不知何故,我怀疑这是否是一个好的实践,但它是有效的。

你能提供一个包含代码和数据的示例吗?提供一个包含虚拟数据的示例这将很容易得到帮助!我还想看到一些示例/数据:)