¿Cómo acceder y modificar el contenido de un objeto creado por un script de otro script en Python? -- python campo con python-2.7 camp Relacionados El problema

How to access and modify the contents of one object created by one script from another script in python?


0
vote

problema

Español

Tengo 3 scripts escritos en Python.

  1. un guión de inicialización
  2. un script que contiene una clase de estructura de datos personalizada
  3. un guión de monitoreo.

El script de inicialización comienza primero. Crea el objeto de la estructura de datos personalizada y luego inicia el script de monitoreo. El script de monitoreo en ciertos puntos enviará valores para llenar el objeto que se creó en el script de inicialización.

Entonces, básicamente hay un objeto de datos global creado por el script de inicialización. El script de monitoreo agregará datos a ese objeto. El objeto de datos es como un búfer que contiene tareas que se ejecutarán más adelante.

¿Cómo logro la tarea de agregar datos al objeto de datos desde el script del monitor?

Scripts de ejemplo:

Script de inicialización:

  import monitorscript import customDataStructure  # creates the object for the customDataStructure # starts the monitor script   

Estructura de datos personalizada:

  class mydata(object):     def __init__(self, arg1 = None, arg2 = None):        self.arg1 = arg1        self.arg2 = arg2  class mydata2(mydata):     def __init__(self):         self.queue = []         self.length = 0     def addTask(self, data): # adds a task to be executed into the buffer.         self.queue.append(data) # data is a mydata object.         self.length += 1     # some other methods.   

Monitor Script:

  # from this script I want to be able to add values to the data object created earlier.   

Si mi pregunta no está clara o necesita más información, por favor, pregúnteme en los comentarios. Podría estar perdiendo un concepto de programación completo aquí. Entonces, si puedes decirme de qué debo investigar, estaré muy agradecido.

En resumen, necesito poder actualizar el objeto de datos creado por un script usando otro script. Este objeto de datos es un búfer que se procesará por separado a intervalos regulares.

Original en ingles

I have 3 scripts written in python.

  1. an initialization script
  2. a script that contains a custom data structure class
  3. a monitoring script.

The initialization script starts first. It creates the object of the custom data structure and then starts the monitoring script. The monitoring script at certain points will send values to fill up the object that was created in the initialization script.

So, basically there is a global data object created by the initialization script. The monitoring script will add data to that object. The data object is like a buffer which contains tasks to be executed later.

How do I accomplish the task of adding data to the data object from the monitor script?

Example scripts:

initialization script:

import monitorscript import customDataStructure  # creates the object for the customDataStructure # starts the monitor script 

custom data structure:

class mydata(object):     def __init__(self, arg1 = None, arg2 = None):        self.arg1 = arg1        self.arg2 = arg2  class mydata2(mydata):     def __init__(self):         self.queue = []         self.length = 0     def addTask(self, data): # adds a task to be executed into the buffer.         self.queue.append(data) # data is a mydata object.         self.length += 1     # some other methods. 

monitor script:

# from this script I want to be able to add values to the data object created earlier. 

If my question is unclear or needs more information, please ask me in the comments. I might very well be missing a whole programming concept over here. So, if you can tell me what I need to look into, I will be very grateful.

In short, I need to be able to update the data object created by one script by using another script. This data object is a buffer which will be processed separately at regular intervals.

     
         
         

Lista de respuestas

1
 
vote

A menos que pase explícitamente su estructura de datos al módulo de monitor, se encontrará con problemas. Los globales existen en el nivel del módulo y no se comparten directamente, incluso cuando importa un recurso de un módulo a otro.

 

Unless you explicitly pass your data structure to the monitor module, you're going to run into issues. Globals exist at the module level and aren't directly shared, even when you import a resource from one module to another.

 
 
   
   

Relacionados problema

0  Pygame, estoy tratando de hacer un temporizador  ( Pygame i am trying to make a timer ) 
He creado un juego que tiene dos autos que se rarcan con los botones tocando más rápido que el otro. Así que quiero hacerlo donde después de la carrera termin...

2  Herencia de Python Best Practice para 'Historias de objetos'  ( Python inheritance best practice for object histories ) 
Tengo una serie de clases (por ejemplo, contacto) para las cuales también quiero rastrear el historial de cambios. A continuación se muestra mi punto de parti...

0  Añadiendo números a una lista  ( Appending numbers to a list ) 
urllist = ['http://example.com', 'http://example1.com'] i = 0 while i < len(urllist): source = urllib.urlopen(urllist[i]).read() regex = '...

1  ¿Codificando una lista de tuplas con Python?  ( Encoding a list of tuples with python ) 
Estoy leyendo de un directorio de texto UTF-8, luego inserto el texto lectorizado en una lista y estoy obteniendo algunas tuplas como esta: l = [('mucho','...

0  Archivo / Zipfile Python  ( Archive zipfile python ) 
El ejemplo delfildeo zip en el texto de la lección almacena la ruta completa de los archivos que se guarda con el shipfile. Normalmente, sin embargo, Zipfiles...

1  No se puede localizar la etiqueta HTML para raspar  ( Unable to locate html tag for scraping ) 
No soy genial en HTML, así que estoy un poco tropezado por esto. Estoy tratando de raspar las publicaciones de DateTime de Instagram utilizando Python y se ...

0  Error en la cadena de codificación  ( Error in encoding string ) 
Este podría ser un problema muy simple, pero simplemente no puedo resolverlo. en mi consola de python i hago: request.request.data.get('comment') i o...

-3  Modelo inesperado - Python Def  ( Unexpected indent python def ) 
¿Puedes ayudarme con esto? def group_iter (iterator, n=2, strict=False): accumulator = [] accumulator.append(item) if len(accumulator)...

0  Ejecutar script shell (.csh) en Cygwin con Python  ( Run shell script csh in cygwin using python ) 
He creado una herramienta de Python que genera scripts y amplificadores de shell; ejecútelo usando el comando subprocesos.popen ("csh -l -c" + os.environ ["...

1  Cómo matar el proceso por nombre en Python  ( How to kill process by name in python ) 
>>> os.system('adb shell pidof logcat') 750 4774 0 >>> os.system('adb shell ps | grep logcat') root 750 1 8760 1720 __skb_recv 7f8f5a5edc S ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos