我有一个由多个嵌套数组和字典组成的配置文件。我需要一个文本命令,可以编辑任何变量。这是在python3中。你知道吗
下面是配置(json)的示例:
{
"joinMsg":{
"help":[
"I need help",
"Type !help or !info"
]
}
命令语法可以更改为其他语法,但其用法如下:
!config write joinMsg;help;1 'Try typing !help'
我知道如何以这种方式从配置中读取数据,但是我设置递归的方式意味着我没有替换值的方法。你知道吗
这就是我所拥有的,数组类似于joinMsg;help;1 with;deliminators:
# reads from the config file
def configRead(arrays):
try:
arrays = configSearch(arrays)
print(arrays)
output = config
for r in arrays:
output = output[r]
except:
output = 'No array found'
return output
# recursive config helper
def configSearch(arrays):
searchRE = re.match(r'([^;]+);(.+)', arrays, re.I)
if searchRE:
output = configSearch(searchRE.group(2))
output.insert(0, searchRE.group(1))
return output
else:
return [arrays]
这个代码可能很糟糕(我没有受过正规训练),我不知道从这里该怎么办。谢谢您的帮助。你知道吗
首先,这里是一个修改过的
configSearch
,它不使用递归,还处理数组索引:然后是一个新函数
configWrite
,它将编辑配置并用新的value
覆盖arrays
:相关问题 更多 >
编程相关推荐