-------- Original Message --------
On Jul 10, 2022, 19:25, Marcello Ilardi < marce...@linuxvil.it> wrote:
Salve a tutti, in un mio programma, per creare file di configurazione, utilizzo
il seguente codice: variabili = {} variabili['IPADDRESS'] = '192.168.1.2'
variabili['NETMASK'] = '255.255.255.0' variabili['GATEWAY'] = '192.168.1.1'
configurazione = (f''' net.static.IP = {variabili['IPADDRESS']}
net.static.SubnetMask = {variabili['NETMASK']} net.static.Gateway =
{variabili['GATEWAY']} ''') print(configurazione) In questo modo mi vengono
sostituite correttamente le variabili. adesso ho la necessità, visto la
lunghezza di 'configurazione' (più di 1000 righe) di creare un file dove metto
la sola variabile 'configurazione' e all'occorrenza leggere il file e impostare
correttamente le variabili. Il problema che leggendo da un file esterno non
riesco a sostituite le variabili tra grafe. Nel file.txt metto: net.static.IP =
{variabili['IPADDRESS']} net.static.SubnetMask = {variabili['NETMASK']}
net.static.Gateway = {variabili['GATEWAY']} il programma py: variabili = {}
variabili['IPADDRESS'] = '192.168.1.2' variabili['NETMASK'] = '255.255.255.0'
variabili['GATEWAY'] = '192.168.1.1' with open((f'''file.txt'''), "r") as
configurazione_tmp: configurazione = configurazione_tmp.read()
print(configurazione) Come posso risolvere? Grazie a tutti, Saluti Marcello
_______________________________________________ Python mailing list
Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Ciao,
non so se hanno già dato la stessa risposta perché temo di essermi perso
qualche mail, ma oltre allr alternative già citate (yaml, db, config parser)
puoi anche formattare la stringa esplicitamente usando il metodo str.format o
str.format_map, che fa sostanzialmente quello che viene fatto implicitamente
quando usi le f-strings (f""). ecco un esempio per darti un'idea di come puoi
usare format_map:
s = "foo = {bar}"
d = dict(bar="1234")
print(s.format_map(d)) # foo = 1234
comunque è un sistema fragile di sostituzione, quindi anche se potrebbe essere
conveniente nel tuo caso, potresti optare per qualcosa di più robusto se fosse
per un lavoro più che amatoriale.
ciao
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python