ConfigParser实例没有属性'[extension]'

时间:2015-10-01 15:02:44

标签: python configparser

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

因此,使用Python Doc和此similar 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完全相同,并且有人用来解决这个类似问题的解决方案。

1 个答案:

答案 0 :(得分:1)

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

正确的行是

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