Domanda

Questo è qualcosa che penso che sarebbe molto utile.In sostanza, vorrei che ci fosse un modo per modificare a livello di codice sorgente Python senza la necessità di intervento umano.Ci sono un paio di cose che vorrei fare con questo:

  1. Modificare la configurazione di Python applicazioni che utilizzano i moduli di origine per la configurazione.

  2. Impostare un "modello" in modo che io possa personalizzare una sorgente Python file al volo.In questo modo, posso impostare un "progetto di sistema" open source app sto lavorando e consentire a determinati file per essere personalizzato.

Probabilmente potrei scrivere qualcosa che può fare da solo, ma vedo che l'apertura di un sacco di "diavolo sta nei dettagli" tipo di problemi.Ci sono modi per fare questo, attualmente, o sono solo andando a mordere la pallottola e implementare da solo?

È stato utile?

Soluzione

Python standard library fornisce abbastanza buona, camere / strutture per lavorare con sorgente Python;nota il dividere e parser i moduli.

Altri suggerimenti

La maggior parte di questi tipi di cose possono essere determinate a livello di programmazione in Python, utilizzando i moduli come sys, os, e la speciale _file_ identificatore che indica dove si trovano nel percorso del filesystem.

È importante tenere a mente che quando un modulo viene importato per la prima volta verrà eseguito tutto il file-campo di applicazione, che è importante per lo sviluppo del sistema-comportamenti dipendenti.Per esempio, il modulo os in pratica determina quale sistema operativo stai utilizzando su di importazione e quindi regola la sua attuazione, di conseguenza (importando un altro modulo corrispondente a Linux, OSX, Windows, etc.).

C'è un sacco di potenza in questa funzione e qualcosa lungo queste linee è probabilmente quello che stai cercando.:)

[Edit] ho usato anche io presa.gethostname() in alcuni rari, hackish istanze.;)

Ho avuto lo stesso problema e ho semplicemente aperto il file e fatto un po ' di sostituire:quindi ricaricare il file nell'interprete Python.Questo funziona bene ed è facile da fare.

Altrimenti, per quanto ne so devi usare qualche conf oggetti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top