gpt4 book ai didi

python - 更新 ConfigParser 中的部分(或替代方案)

转载 作者:行者123 更新时间:2023-12-01 06:17:22 24 4
gpt4 key购买 nike

我正在为另一个程序制作一个插件,因此我试图使事情尽可能轻量。

我需要做的是能够更新 ConfigParser 的配置文件中的部分名称。

[project name]
author:john doe
email: spam@example.com
year: 2010

然后我有文本字段,用户可以在其中编辑项目的名称、作者、电子邮件和年份。

我认为更改[项目名称]是不可能的,所以我想到了两种解决方案:

1 - 我的配置文件如下:

[0]
projectname: foobar
author:john doe
email: spam@example.com
year: 2010

这样我就可以像另一个选项一样更改项目的名称。但问题是,我需要自动递增部分 # ([0]、[1] 等)。为此,我必须获取每个部分,并找出下一个数字应该是什么。

另一个选项是删除整个部分及其值,并使用更新后的值重新添加它,这也需要更多的工作,例如通过函数传递保存旧部分名称的变量,等等,但我不介意它是否更快。

这两个哪个最好?或者还有其他方法吗?我愿意采用尽可能最快/轻量级的解决方案,无论它是否需要更多工作。

最佳答案

ini 文件可能最适合配置应用程序,具有明确定义的输入等。听起来您想要一个更通用的序列化工具; JSON 可能对此很有效。也许您想存储具有这些字段的字典列表(因此是递增索引)的 JSON 表示形式?

stdlib 中 json 模块的使用非常简单。例如,要存储几条记录,您将

import json

projects = []
projects.append({'project_name': 'foobar',
'author': 'John Doe',
'email': 'spam@example.com',
'year': '2010'})
projects.append({'project_name': 'baz',
'author': 'Cat Stevens',
'email': 'cs@example.com',
'year': '2009'})

with open('projects.json', 'w') as f:
json.dump(projects, f)

类似地,您可以使用 json.load(f) 从文件中恢复序列化数据,您已在读取模式下打开了 f

关于python - 更新 ConfigParser 中的部分(或替代方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2497717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com