gpt4 book ai didi

python - 如何从存储在另一个 ini 配置文件中的文件名打开一个 ini 配置文件?

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:28 27 4
gpt4 key购买 nike

我似乎遇到了一个问题,但感觉它不是一个问题,但我看不到解决方案,所以也许其他人可以。

我正在使用 ini 文件来存储我正在编写的包的配置详细信息。此 ini 文件包含与其他 ini 文件相关的部分。

我知道还有很多其他方法可以做到这一点,但我选择了这种方法,因为我喜欢配置设置的清晰程度。理论上它应该很简单。

所以在我的 main.ini 文件中我有类似的内容:

[topic_name1]
file_name = 'configSetupFiles/topic_name1.ini'
[topic_name2]
file_name = 'configSetupFiles/topic_name2.ini'

然后在topic_name1.ini中我有一个基本形式的设置,例如:

[topic]
url = 'http://blah.com'
param1 = 10

[another_section]
href = 'x/y?z=yes'

topic_name2.ini 遵循相同的格式。

所以我想做的是:

#!/usr/bin/env python3
fromgent_epid configparser import SafeConfigParser
import os

iniparser = SafeConfigParser(os.environ)
config = {}
iniparser.read('main.ini')
for c in iniparser.sections():
config[c] = iniparser.get(c, 'file_name')

for val in config.values():
print(val) # prints file names without a problem
inip = SafeConfigParser(os.environ)
inip.read(val)
for s in inip.sections():
print("Section:", s)

运行此程序时我没有收到错误;它打印 val 但没有任何其他迹象。当我在文件名中进行硬编码时,它打印没有问题。但是,当我打印出 topic_name ini 文件各部分的键时,我得到如下所示的键流:

url
param1
gdmsession
gpg_agent
xmodifiers
java_bindir
gtk_modules
ostype
xsession_is_up
cshedit
user
...

代码:

inip = SafeConfigParser(os.environ)
inip.read('configSetupFiles/topic_name1.ini')
for field in inip.sections():
print(field)
for k in inip[field]:
print(k)

我想打印出键,因为每个文件和部分中可能有不同的字段名称,因此我无法直接引用它们并使用 .get

以这种方式创建第二个 ConfigParser 实例时是否存在冲突?我真的不明白为什么它不起作用。如果我错过了一些信息,我很抱歉,因为我盯着这个太久了。任何帮助表示赞赏。

最佳答案

代码没有问题!只是您的 .ini 文件有问题。

删除 main.ini 内的引号。

[topic_name1]
file_name = configSetupFiles/topic_name1.ini
[topic_name2]
file_name = configSetupFiles/topic_name2.ini

关于python - 如何从存储在另一个 ini 配置文件中的文件名打开一个 ini 配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35543711/

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