2012-05-17 3 views
0

Должен ли файл конфигурации для ConfigParser быть назван «Config.ini» для работы?Python ConfigParser Вопрос

Я хочу, чтобы имя было «1Config.ini», чтобы оно отображалось в верхней части папки dir.

Это то, что я в настоящее время

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')]