Programaticamente editar fonte Python

votos
7

Isso é algo que eu acho que seria muito útil. Basicamente, eu gostaria que houvesse uma maneira de editar fonte Python programaticamente sem a necessidade de intervenção humana. Há um par de coisas que eu gostaria de fazer com este:

  1. Editar a configuração de aplicativos Python que usam módulos de fonte para a configuração.

  2. Criar um modelo para que eu possa personalizar um arquivo fonte Python em tempo real. Dessa forma, eu posso configurar um sistema de projeto em um aplicativo de código aberto que eu estou trabalhando e permitir que certos arquivos para ser personalizado.

Eu provavelmente poderia escrever algo que pode fazer isso sozinho, mas eu posso ver que a abertura de um monte de diabo está nos detalhes tipo questões. Há alguma maneira de fazer isso atualmente, ou estou apenas vai ter que morder a bala e implementá-lo eu mesmo?

Publicado 28/08/2008 em 15:23
fonte usuário
Em outras línguas...                            


3 respostas

votos
3

Biblioteca padrão do Python fornece muito boas instalações para trabalhar com fonte Python; observe as tokenizar e analisador módulos.

Respondeu 28/08/2008 em 15:27
fonte usuário

votos
0

A maioria desses tipos de coisas podem ser determinados através de programação em Python, usando módulos como sys, os, eo especial _file_ identificador que lhe diz onde você está no caminho do sistema de arquivos.

É importante ter em mente que quando um módulo é importada pela primeira vez ele irá executar tudo no arquivo-escopo, o que é importante para o desenvolvimento de comportamentos dependentes do sistema. Por exemplo, o módulo os basicamente determina o sistema operacional que você está usando em importação e, em seguida, ajusta a sua implementação em conformidade (através da importação de outro módulo correspondente ao Linux, OSX, o Windows, etc.).

Há uma grande quantidade de energia neste recurso e algo ao longo destas linhas é provavelmente o que você está procurando. :)

[Edit] Eu também usei socket.gethostname (), em alguns casos raros, hackish. ;)

Respondeu 30/08/2008 em 09:35
fonte usuário

votos
0

Eu tive o mesmo problema e eu simplesmente abri o arquivo e fez algumas substituir: em seguida, recarregar o arquivo no interpretador Python. Isso funciona bem e é fácil de fazer.

Caso contrário AFAIK você tem que usar alguns objetos conf.

Respondeu 28/08/2008 em 21:33
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more