Мультипроцессор имеет функцию для связи между различными интерпретаторами (процессами)
Ссылка: https://docs.python.org/2/library/multiprocessing.html#multiprocessing-listeners-clients
Пример из документации - должен быть простой способ создания мостамежду вашими процессами с этим примером:
ПРЕДУПРЕЖДЕНИЕ: есть небольшая разница в синтаксисе для Python 3 и 2
Слушатель:
from multiprocessing.connection import Listener
from array import array
address = ('localhost', 6000) # family is deduced to be 'AF_INET'
listener = Listener(address, authkey='secret password')
conn = listener.accept()
print 'connection accepted from', listener.last_accepted
conn.send([2.25, None, 'junk', float])
conn.send_bytes('hello')
conn.send_bytes(array('i', [42, 1729]))
conn.close()
listener.close()
Клиент
from multiprocessing.connection import Client
from array import array
address = ('localhost', 6000)
conn = Client(address, authkey='secret password')
print conn.recv() # => [2.25, None, 'junk', float]
print conn.recv_bytes() # => 'hello'
arr = array('i', [0, 0, 0, 0, 0])
print conn.recv_bytes_into(arr) # => 8
print arr # => array('i', [42, 1729, 0, 0, 0])
conn.close()
РЕДАКТИРОВАТЬ: В случае, если вы просто хотите передать данные между двумя функциями внутри одной программы, вы можете использовать глобальную переменную.
Все, что нужно, это определить переменную вне функции.
Пример:
my_list= []
def add_to_my_list(number):
my_list.append(number)
def sum_list():
print(sum(my_list))
>>> add_to_my_list(5)
>>> my_list
[5]
>>> sum_list()
5
>>> add_to_my_list(5)
>>> sum_list()
10
>>>