如何用Python2.7手工构建ConfigParser的深层副本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

从我的Python学习曲线开始,在将一些代码移植到Python 2.7上时遇到了一个障碍。在Python 2.7中,似乎再也不可能对ConfigParser的实例执行深度拷贝()了。

有人能为手工构建ConfigParser实例的深度复制/复制提出一个优雅的解决方案吗?

提问于
用户回答回答于

代码如下:

import StringIO
import ConfigParser

# Create a deep copy of the configuration object
config_string = StringIO.StringIO()
base_config.write(config_string)

# We must reset the buffer to make it ready for reading.        
config_string.seek(0)        
new_config = ConfigParser.ConfigParser()
new_config.readfp(config_string)
用户回答回答于

如果你需要ConfigParser的新的独立副本,那么一个选项是:

  • 有ConfigParser的原版
  • 将配置文件序列化为临时文件或StringIO缓冲区
  • 使用tmpfile或StringIO缓冲区创建新的ConfigParser。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励