第一个连续运行的2个python脚本之间的通信

问题描述 投票:-1回答:1

我有2个python脚本。简单起见

第一个脚本:

这是一个简单的无限while循环,其中变量'x'被增加1(此脚本始终在运行)

现在我想要第二个脚本,当我调用该脚本时,它应该给我x的当前值

我阅读了有关多重处理,管道和队列的信息,但无法实现

python python-3.x multithreading pipe
1个回答
0
投票

您当然可以使用套接字通信来实现。只需创建一个像这样的服务器脚本,它将侦听到特定端口的所有传入数据...

import socket

s = socket.socket() 

port = 43470 # make this any random port

s.bind(('127.0.0.1', port))

s.listen(5) # put the socket into listen mode

while True:

    c, addr = s.accept()

    data = c.recv(1024).decode("utf-8") # This data is received from the client script

    c.close() 

现在,在客户端脚本中,您必须连接到绑定在该端口中的套接字。制作这样的客户端脚本...

import socket

s = socket.socket()          
port = 43470 # Use the same port number here as you did in the server script.
s.connect(('127.0.0.1', port)) 
s.send(b"This data will be received by the server!")
s.close()  

您也可以相反。因此,服务器将能够将数据发送到客户端脚本。它是双向通讯。

记住:这只是使事情正常工作的简单方法。在实际情况下,非常需要修改。

© www.soinside.com 2019 - 2024. All rights reserved.