gpt4 book ai didi

从配置文件中读取 Pythonic

转载 作者:行者123 更新时间:2023-11-28 20:11:38 25 4
gpt4 key购买 nike

我有一个 python 类,它使用 ConfigParser 读取配置文件:

配置文件:

[geography]
Xmin=6.6
Xmax=18.6
Ymin=36.6
YMax=47.1

Python代码:

class Slicer:
def __init__(self, config_file_name):
config = ConfigParser.ConfigParser()
config.read(config_file_name)
# Rad the lines from the file
self.x_min = config.getfloat('geography', 'xmin')
self.x_max = config.getfloat('geography', 'xmax')
self.y_min = config.getfloat('geography', 'ymin')
self.y_max = config.getfloat('geography', 'ymax')

我觉得最后四行是重复的,应该以某种方式压缩为一个 Pythonic 行,为该部分中的每个项目创建一个 self.item 变量。

有什么想法吗?

亚当

更新:

根据您的回答,我将代码修改为:

    for item in config.items('geography'):
setattr(self, '_'+item[0], float(item[1]))

现在,

   print self.__dict__
>>> {'_xmax': 18.600000000000001, '_ymax': 47.100000000000001,
'_ymin': 36.600000000000001, '_xmin': 6.5999999999999996}

最佳答案

我通常会尽量避免在构造函数中进行外部交互——这使得测试代码变得困难。最好传递配置解析器实例或类似 fp 的对象而不是文件名。

关于从配置文件中读取 Pythonic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2616574/

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