我试图用python编写一个简单的对象,它将使用ConfigParser加载设置,将所有项作为字典获取,然后将这些项设置为对象的属性。在

如果我不包含__setattr__方法,这似乎是可行的。我可以打电话”settings.top_旅行“把答案拿回来。但是,一旦我尝试输入__setattr__,我似乎得到了一个错误。在

它看起来相当递归,所以我假设Get正在调用Set,等等。在set属性部分,我希望让它写回配置文件。因此,每当设置属性中的一个发生更改时,它就会被存储回它的来源文件中。在

下面您将找到代码和错误。在import ConfigParser

class settingsFile(object):

def __init__(self):

"""

Reloads the configuration file and returns a dictionary with the

settings :

[config]

top_travel = 250

"""

# Create a configuration object and read in the file

configuration = ConfigParser.ConfigParser()

configuration.read('config/config.cfg')

# Return all the "config" section as a list and convert to a dictionary

self.configuration = dict(configuration.items("config"))

def refresh(self):

self.__init__()

def __getattr__(self, attr):

return self.configuration[attr]

def __setattr__(self, attr, value):

print attr, " is now ", value

# Do some clever storing with ConfigParser

if __name__ == "__main__":

settings = settingsFile()

print settings.top_travel

settings.top_travel = 600

print settings.top_travel

错误:

^{pr2}$

python setattr无限递归_在python中引入setattr时出现递归错误相关推荐

  1. 以下选项中python用于异常处理结构_《Python 程序设计》复习题

    目录 填空题 一.基础知识 二.序列 三.选择结构与循环结构和函数及面向对象.文件 选择题 一.Python 基础语法 二.基本数据类型 三.程序的控制结构 四.函数和代码复用 五.组合数据类型 六. ...

  2. python发送soap报文_使用Python将带附件的XML发送到SOAP ws

    在过去的几周里,我一直在学习Python,并尝试将自定义XML发送到公共测试WS . 现在我觉得我没有取得任何进展 . 所以我现在需要帮助或任何建议 . 如果你使用SoapUI或其他方法(我试过-mz ...

  3. matlab输入指令错误怎么修改,在MATLAB中运行程序时,显示错误: 此上下文中不允许函数定义。 怎么修改?...

    点击查看在MATLAB中运行程序时,显示错误: 此上下文中不允许函数定义. 怎么修改?具体信息 答:MATLAB程序运行错误后,切换到MATLAB命令行中,观察命令行中的错误信息,确定错误原因. 1. ...

  4. 在Word中打开MathType时出现AutoExecCLS错误解决方案

    文章目录 在Word中打开MathType时出现AutoExecCLS错误 方案1 方案2 方案3 在Word中打开MathType时出现AutoExecCLS错误 方案1 点击word里面的math ...

  5. python 打印数组变量_使用Python将数组的元素导出到变量中(unpacking)

    下面就为大家分享一篇使用Python将数组的元素导出到变量中(unpacking),具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 最近工作中遇到一个问题,需要利用Python将数组(list ...

  6. python之禅 中文_《Python之禅》中对于Python编程过程中的一些建议

    <Python之禅>中对于Python编程过程中的一些建议 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  <Python之禅>中对于Pyt ...

  7. python字符串去掉空行_从python中的字符串中删除空格

    python字符串去掉空行 如何在python中删除字符串中的空格 (How to remove whitespaces in a string in python) str.lstrip()str. ...

  8. python argv 详解_对python中的argv和argc使用详解

    主要问题 为什么argv中第一个,即index=0的内容就是文件名? python中argc是用什么实现的? 概念解释 argc:argument counter,命令行参数个数 argv:argum ...

  9. python框架 mysql数据库_在Python的框架中为MySQL实现restful接口的教程

    最近在做游戏服务分层的时候,一直想把mysql的访问独立成一个单独的服务DBGate,原因如下: 请求收拢到DBGate,可以使DBGate变为无状态的,方便横向扩展 当请求量或者存储量变大时,mys ...

  10. python怎么更新数据库_在Python的Django框架中更新数据库数据的方法

    先使用一些关键参数创建对象实例,如下: >>> p = Publisher(name='Apress', ... address='2855 Telegraph Ave.', ... ...

最新文章

  1. 安装Android SDK需要选择哪些,开始为Android开发,我应该选择安装哪些SDK?
  2. python归档excel数据_python怎么把数据保存为excel
  3. Windows多线程编程总结
  4. Java常见的乱码解决方式
  5. 知道Python中的字符串是什么吗?
  6. C#中调用Windows系统服务exe程序的工具类与重启服务的流程
  7. mpvue 踩坑之src数据绑定出错
  8. 现在多少钱能和以80年代的万元户持平?
  9. ftpwebrequest 无法加载或初始化请求的服务提供程序_jvm之类加载机制
  10. oracle导入到sqlserver2005
  11. 离散数学与计算机的发展,计算机学科发展中离散数学的作用与运用
  12. CH340芯片选型----包括串口并口芯片
  13. 一劳永逸安装程序无法继续 Microsoft Runtime DLL 安装程序未能完成安装
  14. 视频无缝续播的一些解决方案
  15. Unity 3D基础入门编程_艾孜尔江撰稿
  16. Ubuntu 使用 create_ap 开启 wifi 热点
  17. 无法访问您试图使用的功能所在的网络位置 无法找到vcredist.msi的解决办法
  18. web漏洞-远端WWW服务支持TRACE请求
  19. 吃饭理论,抓沙理论,杯子理论——结构化学习,实现N+1,时间管理
  20. 晶体三极管的三个工作区域及温度对特性的影响

热门文章

  1. 拿python画个爱心吧
  2. 《CCNA路由和交换(200-120)学习指南》——2.2节OSI参考模型的各层
  3. vue移动端框架mint-ui的使用
  4. Vue PC端框架和Vue移动端UI框架
  5. shell 压测_shell写一个压测脚本
  6. 关于无状态服务(stateless service) 有状态服务(stateful service),指一篇文章就搞明白
  7. .netcore+vue 实现压缩文件下载
  8. 工作笔记:mRemote远程连接已配置好的连接
  9. 时空与预测]星际迷航-暗黑无边
  10. 关于打印(c#套打...)