Uso una biblioteca que proporciona una interfaz de python a un programa externo. Esto me permite crear:Python: cómo compartir una instancia de objeto a través de múltiples invocaciones de un script
foo = Foo()
El código anterior se inicia una nueva instancia del programa Foo que puedo controlar desde dentro de pitón.
Tengo scripts de python que deben invocarse varias veces y, dependiendo de parámetros externos, indicar a una sola instancia del programa Foo externo que haga cosas diferentes. Obvio que no puedo hacer
foo = Foo()
cada vez,
ya que crea una nueva instancia de Foo cada vez que mi script se ejecuta.
Lo que quiero hacer es crear foo= Foo()
una vez, y hacer varias invocaciones para compartir la misma instancia. Actualmente estoy pensando en crearlo una vez, serializarlo y hacer que mis scripts lo deserialicen. ¿Funciona este enfoque? ¿Hay una mejor alternativa?
Gracias!
Intenté hacer eso, recibí un mensaje que decía "No se puede encurtir el objeto 'bloquear':". Estoy investigando ahora. –
wk1989
Sí, tiene limitaciones que puede/no ser capaz de evitar para hacer lo que desee: http://docs.python.org/library/pickle.html#what-can-be-pickled-and-unpickled – zeekay
si está usando un candado, probablemente necesite tomar otro camino como zócalos o tuberías para proporcionar acceso bloqueado a su clase – lunixbochs