【问题标题】:ConfigParser instance has no attribute '[extension]'ConfigParser 实例没有属性“[extension]”
【发布时间】:2015-10-01 15:02:43
【问题描述】:

我正在学习 python,我正在尝试从配置文件中读取信息的简单任务。

所以使用Python Docsimilar problem 作为参考,我创建了两个文件。

这是我的配置文件config.ini(也试过config.cfg

[DEFAULT]
OutDir = path_to_file/

[AUTH]
TestInt = 100
TestStr = blue
TestParse = blua

这是我的python文件test.py

import ConfigParser

from ConfigParser import *
config = ConfigParser()

config.read(config.cfg)

for name in config.options('AUTH'):
    print name

out = config.get('DEFAULT', 'OutDir')
print 'Output directory is ' + out

但是,当运行命令 python test.py 时,我出错并收到此错误

Traceback (most recent call last):
  File "test.py", line 7, in <module>
    config.read(config.cfg)
AttributeError: ConfigParser instance has no attribute 'cfg'

注意:我认为这意味着无法读取扩展名,因此我创建了 .ini 文件并在代码中对其进行了更改,我收到了同样的错误,但它改为读取 ...has no attribute 'ini'

我不确定自己做错了什么,因为我所做的与 python doc 以及有人用来解决此类似问题的解决方案完全相同。

【问题讨论】:

  • "config.cfg" 不是config.cfg

标签: python configparser


【解决方案1】:

config.read 将字符串作为参数。您忘记引用文件名,而 config 巧合地是可能具有 cfg 属性的 Python 对象(模块)的名称。如果你写的是config.read(foobarbaz.ini),你会得到一个完全不同的错误。

正确的行是

config.read('config.cfg')  # or 'config.ini', if that's the file name

【讨论】:

  • 叹息。这么简单的错误,我看不到。谢谢。我追错了尾巴。
猜你喜欢
  • 2017-01-25
  • 2013-04-30
  • 2016-06-29
  • 2012-10-07
  • 2013-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-22
相关资源
最近更新 更多