Se você já quis um arquivo de configuração para fazer um programa/script ter uma cara mais profissional, eis aqui uma solução simples em python.
Constatação: Config parser em python é realmente muito fácil! (comparado com Perl pelo menos)
O arquivo de configuração deve conter uma ou mais sections e diversos options com seus respectivos valores.
Segue um exemplo:
[Main]
use_smtp = 1
daemon = 0
[Host]
smtp_host = mail.gmail.com
smtp_user = admin@gmail.com
O parser em si é bem auto-explicativo, segue o código:
#biblioteca padrão para Config parsing !
import ConfigParser
config = ConfigParser()
config.read("file.conf")
config.list={}
for section in config.sections():
print section
for option in config.options(section):
print " ", option,"=", config.get(section,option)
config.list[option]=config.get(section,option)
print
print
# duas maneiras para acessar o option
# diretamente através da função .get
print config.get("Host","smtp_user")
#ou a partir da lista gerada no segundo "for" do script
print config.list['smtp_user']
De resto, basta criar uma classe ou função para esse código e adapta-lo para os seus próprios programas!


August 21st, 2008 at 2:03 pm
[...] por Pascal (pascal?tarzxvf·com) – referência [...]
August 21st, 2008 at 3:17 pm
Boa dica! Abraço!
August 21st, 2008 at 3:33 pm
Tem um erro na linha 5 (ou 6, se você contar a em branco):
- condif.list={}
+ config.list={}
August 22nd, 2008 at 2:47 am
FZero, valeu por avisar, já estou arrumando!
September 12th, 2008 at 12:55 pm
Tem um erro no segundo for onde está “options” é “option”
Aproveitando, boa dica…
September 12th, 2008 at 1:21 pm
também tem a variavel config = ConfigParser() que ao certo é config = ConfigParser.ConfigParser()
September 12th, 2008 at 4:37 pm
Valeu pelo aviso, vou corrigir mais a noite!
January 16th, 2009 at 11:22 am
Olá!
Eu tentei utilizar um exemplo, mas com um arquivo de configuração diferente. E também passando o caminho no arquivo ao invés de utilizar um arquivo local e não está funcionando. Será que existe alguma limitação quanto à passar o caminho?
January 16th, 2009 at 3:55 pm
Diego@
Não existe tal limitação.
Basta você especificar o novo path como por exemplo /etc/file.conf
Copie e cole aqui o erro que você está tendo que fica mais fácil te ajudar.
Abraços.
March 22nd, 2009 at 2:38 pm
Ótima dica! Usei para o arquivo de configuração do GeSpeak =)
InFog