listClients
Código
class ListClients: clients = {} @staticmethod def add(key,value): ListClients.clients[f"{key}"]=value @staticmethod def get(key): print(ListClients.clients[key]) @staticmethod def delete(key): del ListClients.clients[key]
main.py
Código
from listClients import ListClients print("==================main================") ListClients.add("key",{"HOLA":"adios"}) ListClients.add("key2",{"HOLA2":"adios2"}) print(ListClients.clients)
main2.py
Código
from listClients import ListClients print("==================main2================") ListClients.add("key3",{"HOLA3":"adios"}) print(ListClients.clients)
El archivo listClients se encarga de almacenar clientes
El main.py crea dos objetos. La variable clientes contiene los dos objetos, gracias a que en la clase tiene una variable estatica que hace la persistencia de los datos en la misma instancia.
Código:
==================main================
{'key': {'HOLA': 'adios'}, 'key2': {'HOLA2': 'adios2'}}
Pero si ejecuto el main2.py....{'key': {'HOLA': 'adios'}, 'key2': {'HOLA2': 'adios2'}}
Código:
==================main2================
{'key3': {'HOLA3': 'adios'}}
Como se ve, las keys creadas en el main.py no se mantienen. Esto es porque en el main2.py hago un {'key3': {'HOLA3': 'adios'}}
Código
Haciendo que se cree otra instancia de la clase, cuya instancia no tiene los objetos creados por el archivo main.py
from listClients import ListClients
Mi pregunta es, si se puede hacer que al ejecutar el main2.py y se añade el "key3" cuando hago un print de clients salg así
Código:
{'key': {'HOLA': 'adios'}, 'key2': {'HOLA2': 'adios2'},'key3': {'HOLA3': 'adios'}}
Se que la solucion es un JSON, pero no lo quiero almacenar en un JSON pues los datos que voy a almacenar son objectos Sockets (SSLSockets) y estos no se pueden serializar para añadir a un archivo JSON.
Se puede hacer lo que quiero de alguna manera?? Gracias.