[Python] Variabili su file esterno
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
Re: [Python] Variabili su file esterno
Io userei yaml e un file const.py dove metti le constanti in UPPERCASE prima ti tiri su yaml di default su un dictionary dopo rimpiazzi e controlli a seconda dei casi. Non genererei un file.. Il Dom 10 Lug 2022, 20:17 Marcello Ilardi ha scritto: > 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 > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Variabili su file esterno
Ciao, Perdonami se dico una cavolata, ma sembra più il caso d'uso di un database. Non ho mai usato MongoDB ma il tuo file JSON me lo ricorda. Sono curioso di sapere se il resto della comunità è d'accordo con me. Pietro ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Variabili su file esterno
Verifica se ConfigParser fa al caso tuo. GdS Il 10/07/22 19:25, Marcello Ilardi ha scritto: 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 ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Variabili su file esterno
Verifica se ConfigParser fa al caso tuo. > Ma è fighissimo (mi intrometto di nuovo ^_^) > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] R: Variabili su file esterno
-Da: Python [mailto:python-boun...@lists.python.it] Per conto di Pietro Brunetti Perdonami se dico una cavolata, ma sembra più il caso d'uso di un database. Ciao, volevo evitare di mettere tutti i dati in un DB, ho dato un occhiata anche a ConfigParsen, ma non fa al caso mio. I file di configurazione sono un export di configurazione di un telefono IP. Guardando bene sono 3600 parametri per ogni modello di telefono, e sono circa 10 modelli di telefoni diversi. Ogni configurazione devo solo cambiare massimo 20/30 parametri. Con ConfigParsen o YAML è un casino. Devo mettere in pancia del main.py tutte le configurazioni di tutti i modelli. Un alternativa che potrei utilizzare è creare un file modelloTel.py e poi fare un import modelloTel ma un problema che ho riscontrato è il passaggio delle variabili sul file importato. Marcello ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] R: Variabili su file esterno
Il 11/07/2022 08:42, Marcello Ilardi ha scritto: [...] ma un problema che ho riscontrato è il passaggio delle variabili sul file importato. [...] Hai provato a dare un'occhiata al modulo pickle? https://docs.python.org/3.8/library/pickle.html m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python