2015-10-01 79 views
1

我正在學習python,我試圖做一個簡單的任務,從配置文件中讀取信息。ConfigParser實例沒有屬性'[extension]'

因此,使用Python Doc和這個similar problem作爲參考,我創建了兩個文件。

這是我的配置文件config.ini(也試過config.cfg

[DEFAULT] 
OutDir = path_to_file/ 

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

和運行命令python test.py我示數並收到此錯誤時,這是​​我的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 

然而,

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文檔和解決這個類似問題的解決方案完全相同。

+1

' 「的config.cfg」''不config.cfg' –

回答

1

config.read以字符串作爲參數。您忘記引用文件名稱,並且config巧合地是可能具有cfg屬性的Python對象(模塊)的名稱。如果你寫了config.read(foobarbaz.ini),你會得到完全不同的錯誤。

正確的路線是

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

嘆息。我看不到這樣一個簡單的錯誤。謝謝。我正在追逐錯誤的尾巴。 – Joey

相關問題