У меня есть графический интерфейс Python, написанный на Tkinter. Основная цель программы - настроить множество различных переменных для окончательного расчета гиперспектрального изображения (география). Теперь разработаны некоторые дополнительные спецификации, в которых пользователь хотел бы иметь возможность активно вводить некоторые параметры для групп сглаживаемых пикселей. Эта информация будет вводиться в Python GUI, и программы C, которые обрабатывают изменения изображения, нуждаются в этом как входные данные. Поскольку изображения могут быть гигантскими, я хочу стараться избегать повторного запуска программы на C (которая включает выделение памяти, чтение гигантского файла и т. Д.) С помощью вызова, такого как
os.system(./my_C_Program param1 param2 param3....)
Я бы предпочел иметь систему, в которой после вызова my_C_Program
она может находиться в состоянии ожидания после загрузки всех ресурсов в память. Я думал, что что-то, связанное с getchar()
, будет тем, что я хочу, но я не знаю, как я могу получить вывод из Python для перехода на my_C_Program
. Я видел несколько похожих вопросов по этому поводу на SO, но я не смог точно определить, как эти сценарии могли бы помочь мне.
Если getchar()
ответ, может кто-нибудь объяснить, как работает stdout с несколькими открытыми терминалами?
Кроме того, я пытаюсь сделать эту программу легко мультиплатформенной в Linux / Mac / Windows.
Подводя итог, я хочу следующую функциональность:
- Пользователь выбирает определенный ввод из графического интерфейса Python
- Этот вход становится входом для программы на C
- Эта программа на C может обрабатывать больше входных данных без необходимости повторного запуска с самого начала (избегая файлового ввода-вывода и т. Д.).