gpt4 book ai didi

python - ConfigParser - 将整个部分作为字典获取并设置值

转载 作者:行者123 更新时间:2023-12-01 08:38:08 27 4
gpt4 key购买 nike

我想做的(理想情况下)是将 with 与字典一起使用来一次设置整个参数部分。经过一些实验,我想出了以下代码,它引发了 AttributeError:

import configparser
import os

CONFIG_PATH = os.path.abspath(os.path.dirname(__file__)) + '/config.ini'
config = configparser.ConfigParser()
assert open(CONFIG_PATH)
config.read(CONFIG_PATH)

with dict(config.items('Settings')) as c:
c['username'] = input('Enter username: ')

config.ini 文件:

[Settings]
username = ''

回溯:

Traceback (most recent call last):
File "test.py", line 9, in <module>
with dict(config.items('Settings')) as c:
AttributeError: __enter__

我觉得我在这里使用 configparser 是错误的,但我想编写一些漂亮的代码来设置 config.ini 参数。

最佳答案

您不能将字典与 with 一起使用,因为字典不是上下文管理器。

with dict() as d:
print d

输出:

Traceback (most recent call last):
File "Main.py", line 6, in <module>
with dict() as d:
AttributeError: __exit__

https://paiza.io/projects/aPGRmOEmydbJL2ZeRtF-3A?language=python

对象必须定义 __enter____exit__ 才能用作上下文管理器。

文档:http://book.pythontips.com/en/latest/context_managers.html

关于python - ConfigParser - 将整个部分作为字典获取并设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53619927/

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