[Python] Variabili su file esterno

Giorgio Zoppi giorgio.zoppi a gmail.com
Dom 10 Lug 2022 21:31:03 CEST


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 <marcello a linuxvil.it> 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 a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20220710/b30a9a45/attachment.html>


Maggiori informazioni sulla lista Python