gpt4 book ai didi

Python 使用 ConfigParser

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:40 25 4
gpt4 key购买 nike

我在 .txt 文件中存储了一些属性,这些属性由存储在多个模块中的多个不同类和函数使用。为了能够从这些不同位置访问属性,我有一个空白模块。

将模块本身设置为ConfigParser对象更好,还是读入所有参数并将它们设置为模块级属性更好?

即第一种方式

blank_module = ConfigParser.ConfigParser()
blank_module.read("file.txt")

Then access with blank_module.get('section1', 'property1')

对比

local_var = ConfigParser.ConfigParser()
local_var.read("file.txt")

blank_module.property1 = local_var.get('section1', 'property1')
blank_module.property2 = local_var.get('section1', 'property2')
etc...
then access with blank_module.property1

第二种方式在访问参数时看起来更优雅,但我不确定它们在性能方面有何不同。

最佳答案

我认为您不应该担心这里的性能。问题是易用性。模块的用户可能会发现访问已从文件中提取的变量比使用 ConfigParser API 更方便。

此外,您可以在模块中进行错误检查,以便解决读取文件时出现的问题:

import ConfigParser
local_var = ConfigParser.ConfigParser()
try:
local_var.read("file.txt")
except (ConfigParser.Error, OSError) as e:
# Error reading 'file.txt' or something like that

try:
blank_module.property1 = local_var.get('section1', 'property1')
except ConfigParser.Error as e:
# Handle the error
try:
blank_module.property2 = local_var.get('section1', 'property2')
except ConfigParser.Error as e:
# Handle the error
etc...

关于Python 使用 ConfigParser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640688/

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