python實現(xiàn)跨進(jìn)程(跨py文件)通信示例
前言
項目中總會遇到數(shù)據(jù)需要跨進(jìn)程通信的問題,今天就給大家?guī)硪惶缀唵蔚目邕M(jìn)程通信代碼。代碼分為服務(wù)端與客戶端兩部分。
一、server端
import multiprocessing import time def do_socket(conn, addr, ): try: while True: if conn.poll(1) == False: time.sleep(0.5) continue data = conn.recv() # 等待接受數(shù)據(jù) conn.send('sucess') # *********************** # 要執(zhí)行的程序?qū)懺谶@里 # *********************** print(data) except Exception as e: print('Socket Error', e) finally: try: conn.close() print('Connection close.', addr) except: print('close except') def run_server(host, port): from multiprocessing.connection import Listener server_sock = Listener((host, port)) print("Sever running...", host, port) pool = multiprocessing.Pool(10) while True: # 接受一個新連接: conn = server_sock.accept() addr = server_sock.last_accepted print('Accept new connection', addr) # 創(chuàng)建進(jìn)程來處理TCP連接: pool.apply_async(func=do_socket, args=(conn, addr,)) if __name__ == '__main__': server_host = '127.0.0.1' server_port = 8000 run_server(server_host, server_port)
二、client端
import time from multiprocessing.connection import Client client = Client(('127.0.0.1', 8000)) while True: data = 'send data' client.send(data) data = client.recv() # 等待接受數(shù)據(jù) print(data) time.sleep(1)
這里只是給了client
端的示例代碼,實際通信的數(shù)據(jù)類型可以是多樣的(字符串、數(shù)字、圖片等)
三、運(yùn)行效果
先運(yùn)行server端,再運(yùn)行client端。
server
端
client
端
總結(jié)
本文簡單給大家提供了一套簡單封裝的跨進(jìn)程通信代碼,方便大家快速上手實現(xiàn)跨進(jìn)程通信,有需要的伙伴可以根據(jù)自己的需求調(diào)整代碼。
到此這篇關(guān)于python實現(xiàn)跨進(jìn)程(跨py文件)通信示例的文章就介紹到這了,更多相關(guān)python 跨進(jìn)程通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
制作Python數(shù)字華容道的實現(xiàn)(可選擇關(guān)卡)
這篇文章主要介紹了制作Python數(shù)字華容道的實現(xiàn)(可選擇關(guān)卡),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Python機(jī)器學(xué)習(xí)利用鳶尾花數(shù)據(jù)繪制ROC和AUC曲線
這篇文章主要為大家介紹了Python機(jī)器學(xué)習(xí)利用鳶尾花數(shù)據(jù)繪制ROC和AUC曲線實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02python強(qiáng)大的hook函數(shù)使用及應(yīng)用場景
鉤子函數(shù)(hook function)是把我們自己實現(xiàn)的hook函數(shù)在某一時刻掛接到目標(biāo)掛載點(diǎn)上,這篇文章主要介紹了python強(qiáng)大的hook函數(shù)使用及應(yīng)用場景,需要的朋友可以參考下2023-05-05