Quero configurar um único arquivo python contendo variáveis que tenham os locais de todas as minhas fontes de dados. Isso seria usado por todos os meus outros scripts e, à medida que a fonte de dados mudar, só preciso editar o arquivo.
Meu Data_sources.py ficaria assim:
BC_BEC = "Database Connections\\BC.sde\\FOREST_BC.BC_Eco\\BC.BC_BEC"
BC_TFL = "Database Connections\\Forest_BC.sde\\BC.BC_Admin\\BC.TFL_Boundary"
e assim por diante...
Como obtenho todos os meus outros scripts para carregar ou acessar essas variáveis no Data_sources.py?
Respostas:
Você pode criar um módulo Python instalado que é importável de todos os scripts Python executados usando o Distutils para empacotá-lo.
No documento do Python:
Você pode instalá-lo via
E então você pode importar foo de qualquer script Python ou pode usar
Para criar um instalador do Windows para o módulo, para que você possa distribuí-lo para outros computadores.
fonte
setup.py develop
(em vez deinstall
), as edições no pacote serão selecionadas assim que forem salvas, sem a necessidade de reinstalação. (Este é provavelmente apropriado para data_sources.py da pergunta original).Em qualquer script no mesmo diretório que Data_sources.py, coloque
no topo. Isso funciona porque o diretório de trabalho está sempre no topo do caminho do python, a menos que você o modifique.
Consulte também: http://diveintopython.org/getting_to_know_python/everything_is_an_object.html#d0e4550
Se você deseja compartilhar os dados mais amplamente, pode empacotá-los como outros sugeriram.
fonte
Crie um arquivo de configuração de texto e leia-o com o ConfigParser do Python .
Exemplos um pouco melhores do que a documentação oficial em http://effbot.org/librarybook/configparser.htm
fonte