tar -zxvf .com » Post 'ConfigParser em python, arquivos de configuração nos seus scripts!'

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:, ,

10 Responses to “ConfigParser em python, arquivos de configuração nos seus scripts!”

  1. [...] por Pascal (pascal?tarzxvf·com) - referência [...]

  2. Boa dica! Abraço!

  3. Tem um erro na linha 5 (ou 6, se você contar a em branco):

    - condif.list={}
    + config.list={}

  4. FZero, valeu por avisar, já estou arrumando!

  5. Tem um erro no segundo for onde está “options” é “option”

    Aproveitando, boa dica…

  6. também tem a variavel config = ConfigParser() que ao certo é config = ConfigParser.ConfigParser()

  7. Valeu pelo aviso, vou corrigir mais a noite!

  8. 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?

  9. 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.

  10. Ótima dica! Usei para o arquivo de configuração do GeSpeak =)

    InFog

Leave a comment

XHTML - You can use:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2008 tar -zxvf .com is powered by WordPress