Во-первых, немного объяснения того, почему я задаю этот вопрос во-первых: я пишу программу Python (с wxPython gui), который должен назвать Java программой AWT от данных Python и извлечения из него. У меня есть незавершенное рабочее решение в Windows. У меня также есть незавершенное решение на OSX, пока я запускаю бездисплейное приложение Java. К сожалению, нет никакого разумного решения, которое я нашел для выполнения обоих графический интерфейсов пользователя в рамках того же процесса на OSX, потому что и AWT и WX и хотят первый поток и не могут совместно использовать цикл сообщения wx.
То, что я хотел бы сделать, должно запустить программу Java в отдельном процессе из моей программы Python и установить канал или очередь или что-то для передающих данных (специфически массивы байтов) назад и вперед.
Я был бы очень признателен за любые предложения или даже пошаговое перемещение в правильном направлении, поскольку у меня есть очень мало опыта с IPC.
Именованные каналы могут стать для вас ответом. См .: Создать временный FIFO (именованный канал) в Python?
Используйте subprocess.Popen , чтобы запустить процесс Java и установить каналы для связи с ним. Для эффективной сериализации и десериализации данных независимым от языка, платформой и расширяемым способом, взгляните на Protocol Buffers (предоставлено Jon Skeet !).