•
ConfigParser em python, arquivos de configuração nos seus scripts!
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!
Tags:config, Python, script•
10 Responses to “ConfigParser em python, arquivos de configuração nos seus scripts!”
•

21. August 2008 at 2:03 pm :
[...] por Pascal (pascal?tarzxvf·com) - referência [...]
21. August 2008 at 3:17 pm :
Boa dica! Abraço!
21. August 2008 at 3:33 pm :
Tem um erro na linha 5 (ou 6, se você contar a em branco):
- condif.list={}
+ config.list={}
22. August 2008 at 2:47 am :
FZero, valeu por avisar, já estou arrumando!
12. September 2008 at 12:55 pm :
Tem um erro no segundo for onde está “options” é “option”
Aproveitando, boa dica…
12. September 2008 at 1:21 pm :
também tem a variavel config = ConfigParser() que ao certo é config = ConfigParser.ConfigParser()
12. September 2008 at 4:37 pm :
Valeu pelo aviso, vou corrigir mais a noite!
16. January 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?
16. January 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.
22. March 2009 at 2:38 pm :
Ótima dica! Usei para o arquivo de configuração do GeSpeak =)
InFog