Для связи между приложениями python доступны различные варианты.
Простой способ - использовать API на основе HTTP.Каждое приложение будет предоставлять определенный порт, и обмен данными будет происходить путем обмена HTTP-запросами.Есть несколько фреймворков, которые позволяют построить его за несколько шагов.Например, использование Bottle:
В приложении 1:
from bottle import route, run, request
@route('/action_1', method='POST')
def action_1_handler():
data = request.json
print(str(data))
# Do something with data
return {'success': True, 'data': {'some_data': 1}}
run(host='localhost', port=8080)
В приложении 2:
import requests
r = requests.post("http://localhost:8080/action_1", json={'v1': 123, 'v2': 'foo'})
print r.status_code
# 200
data = r.json()
# {u'data': {u'some_data': 1}, u'success': True}
Обратите внимание, что если действие, выполненное в app1 после получения HTTP-запроса, принимаетмного времени, это может привести к ошибке тайм-аута.В таком случае попробуйте запустить действие в другом потоке или использовать альтернативный протокол связи (например, сокеты, ZeroMQ Messaging Library).
Некоторые связанные чтения: