我正在学习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完全相同,并且有人用来解决这个类似问题的解决方案。
答案 0 :(得分:1)
config.read
以字符串作为参数。您忘记引用文件名,而config
巧合地是可能具有cfg
属性的Python对象(模块)的名称。如果你写了config.read(foobarbaz.ini)
,那么你会得到一个完全不同的错误。
正确的行是
config.read('config.cfg') # or 'config.ini', if that's the file name