您可以通过使用一些正则表达式预先格式化文件内容,然后将其传递给json.loads
您可以一一进行这些正则表达式替换:
#1 \[(\w*)\]\n https://regex101.com/r/IK8hwl/2 -> "$1":
#2 \}\n(\w) https://regex101.com/r/wRT2tr/1 -> },$1
#3 (\w*)\s(\w*)\n([^}]) https://regex101.com/r/qpplZC/3 -> $1:$2,$3
#4 (\w*)\s(\w*)\n\} https://regex101.com/r/ukbysd/1 -> $1:$2}
然后最后将最终的字符串传递给json.loads
:
import json
d = json.loads(s)
这会将其解析为字典格式。
解释 :
1. \[(\w*)\]\n
: 代替[HEADERS]\n
with "HEADERS":
2. \}\n(\w)
:替换所有右大括号,即}
在他们之后有任何价值,与},
3. (\w*)\s(\w*)\n([^}])
: 代替key value\n
with key:value,
对于具有任何下一个元素的行
4. (\w*)\s(\w*)\n\}
: 代替key value\n
with key:value
对于没有下一个元素的行
因此,通过对这些正则表达式进行少量修改,您将能够将其解析为字典格式,基本概念是将文件内容重新格式化为可以轻松解析的格式。