es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo enviar una cadena entre dos programas de Python.

Necesito esto para un proyecto que estoy haciendo, pero no estoy seguro de cómo hacerlo.

Estoy buscando una sintaxis como:
SENDER.py

string = "Hello"
send(hello)

READER.py

string = read()
print(string)

EDIT
He encontrado una solución.
https://github.com/Ccode-lang/simpmsg

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Si estás buscando enviar mensajes entre dos scripts de Python, puedes utilizar sockets para establecer una conexión entre ellos.

    En el script SENDER.py, puedes utilizar la biblioteca socket para crear un socket y enviar datos a través de él. Aquí tienes un ejemplo:

    import socket
    
    # crear un objeto socket
    s = socket.socket()
    
    # obtener el nombre de host y el puerto del receptor
    host = 'localhost'
    port = 5000
    
    # conectar al receptor
    s.connect((host, port))
    
    # enviar el mensaje
    message = "Hola"
    s.send(message.encode())
    
    # cerrar la conexión
    s.close()
    

    En el script READER.py, puedes leer el mensaje que fue enviado por el script SENDER. Aquí tienes un ejemplo:

    import socket
    
    # crear un objeto socket
    s = socket.socket()
    
    # obtener el nombre de host y el puerto para escuchar las conexiones entrantes
    host = 'localhost'
    port = 5000
    
    # enlazar el socket al host y al puerto
    s.bind((host, port))
    
    # escuchar las conexiones entrantes
    s.listen(1)
    
    # aceptar la conexión
    conn, addr = s.accept()
    print("Conexión desde:", addr)
    
    # recibir el mensaje
    data = conn.recv(1024).decode()
    print("Mensaje recibido:", data)
    
    # cerrar la conexión
    conn.close()
    

    Alternativamente, si no deseas manejar la programación de sockets de bajo nivel tú mismo, puedes utilizar una biblioteca de mensajería como ZeroMQ o RabbitMQ para simplificar la tarea.

    Una de esas bibliotecas que proporciona una API de mensajería simple en Python es la biblioteca simpmsg, que puedes encontrar en GitHub en el siguiente enlace: https://github.com/Ccode-lang/simpmsg. Esta biblioteca abstrae los sockets subyacentes y proporciona una API simple de send() y receive() para enviar mensajes entre dos procesos.

Comments are closed.