2012-05-17 80 views
0

ConfigParser的配置文件是否必須命名爲「Config.ini」才能正常工作?Python ConfigParser問題

我希望名稱爲「1Config.ini」,以便它出現在文件夾目錄的頂部。

這是我目前不過

config = ConfigParser.ConfigParser() 
config.read(Revision[0:Revision.rfind('\\')] + "\1Config.ini") 

Type = config.get("myvars", "Type") 

我得到這個錯誤時,文件和代碼名爲「1Config.ini」

<class 'ConfigParser.NoSectionError'>: No section: 'myvars' 
+2

你應該問這個堆棧溢出。 –

+0

你的權利!我實際上已經打開了兩個窗口,並張貼在錯誤的一個......我的壞 –

+0

也似乎有點輕率重命名配置文件,讓他們出現在頂部。我的意思是,如果他們按字母順序排列,按升序排序呢? – blah238

回答

1

什麼是下面的輸出?確保它是一個有效的文件名。

>>> print Revision[0:Revision.rfind('\\')] + "\1Config.ini" 

理想的情況下使用,而不是os.path.join連接字符串的:

import os 
filename = os.path.join(Revision[0:Revision.rfind('\\')], "Config.ini") 
config.read(filename) 

你可能不應該命名您的變量Type,因爲type是一個內置功能/模塊,它會引起混亂。

Type = config.get("myvars", "Type") 

沒有,配置文件可以任意取名:

>>> a = ConfigParser.ConfigParser() 
>>> a.read("E:/Documents/2012/config.test") # where config.test is the example from the documentation 
['E:/Documents/2012/config.test'] 
>>> a.sections() 
['My Section'] 
>>> a.items(a.sections()[0]) 
[('foodir', 'frob/whatever'), 
('dir', 'frob'), 
('long', 'this value continues\nin the next line')]