ConfigParser 实例没有属性“[extension]”

ConfigParser instance has no attribute '[extension]'

我正在学习 python 并且我正在尝试执行一项从配置文件中读取信息的简单任务。

所以使用 Python Doc and this 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 文档和某人用来解决类似问题的解决方案完全相同。

config.read 接受一个字符串作为它的参数。您忘记引用文件名,config 恰好是 Python 对象(模块)的名称,该对象可能具有 cfg 属性。如果你写 config.read(foobarbaz.ini).

你会得到一个完全不同的错误

正确的行是

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