У меня есть (возможно) простой вопрос о том, что Интернет, похоже, не помогает. Я хотел бы сделать несколько программ python в рамках другой программы python и не знаю, как заставить их вводить ввод друг в друга. Моя возможная идея состоит в том, чтобы (как доказательство концепции) одна программа действует как среда, а другие действуют как существа в этой среде. позвольте мне уточнить: я уверен, что вы видели те программы, которые имитируют естественную среду, когда существа в них взаимодействуют. Я хотел бы делать то же самое, что и в меньшем масштабе (текст вместо фантазии 3D-графики, если вообще). Конечная цель этого - не иметь сложной экосистемы, а видеть, как далеко я могу продвигать связь между программами (и силой моего компьютера на этом пути). P.S. Я хотел бы продолжать запускать его из IDLE или из командной строки.Программы на Python, общающиеся
ответ
Вы можете просто установить структуру модуля. Например, напишите main.py
, который либо вызывает, либо импортирует данные из других «программ».
В вашем случае я бы использовал объективно-ориентированный подход.
Например, если у вас есть настройки программы следующим образом:
main.py
prog1.py
т.д.
Я хотел бы создать main.py
например, как
import prog1
creature_obj = prog1.new_creature() # where new_creature is a class in prog1
...
Итак, я думаю, что так я бы это сделал, но я не знаю, как сделать 'prog1.py' доступным для' main.py'. Не могли бы вы объяснить это или опубликовать ссылку на видео YouTube? У меня пока нет большого опыта в этом. – unknown
Я получаю часть 'import prog1' только не до этого. – unknown
На самом деле, неважно. Я использовал этот сайт: [http://www.ibiblio.org/g2swap/byteofpython/read/making-modules.html] и понял это. Спасибо за помощь! – unknown
У вас есть много вариантов для exhanging сообщений между программами или компонентами:
- Вы можете написать выходные файлы, которые другие программы могут читать и действовать дальше. Вы хотите узнать, может ли потребитель смотреть каталог для файла и реагировать, когда он прибыл.
- Вы можете сделать их распределенными компонентами, которые обменивались сообщениями через сокеты или какой-либо протокол более высокого уровня, например HTTP. Связь может быть синхронной или асинхронной.
- Вы можете связать их как продюсеров, записывающих в очереди сообщений или темы, а также пользователей, слушающих очередь или тему для событий.
- 1. Http и Https общающиеся проблемы
- 2. Компьютеры, общающиеся в одной сети
- 3. Две малины, общающиеся друг с другом
- 4. Коррекция программы на Python
- 5. Запуск программы python из программы на C++?
- 6. Ссылка на указатели между указателями между классами (общающиеся классы)
- 7. Портирование программы Python на C
- 8. Портирование потоковой программы на Python
- 9. Суммирование программы на Python серии
- 10. Установка программы Python на Linux
- 11. Запуск программы python на докере
- 12. Python записывает на stdin программы на C++
- 13. Python wrapper для программы Python
- 14. Изящный выход из программы на Python?
- 15. Компиляция программы python на странице HTML
- 16. Запуск программы на компьютерах без python
- 17. Python устанавливает модули модулей на настройку программы?
- 18. программы на Python с использованием Loops
- 19. Экспорт программы на Python из txt-файла
- 20. Как запустить программы Kivy Python на ПК?
- 21. Как добавить иконку моей программы на Python
- 22. Как выйти из программы python на малине
- 23. сравнить результаты программы на cpp и python
- 24. Запуск программы на неопределенный срок в python
- 25. Результат печати программы на Python несколько раз
- 26. Модуль для создания программы на python
- 27. Программы на Python в разных операционных системах
- 28. Выполнение программы Python на веб-сайте
- 29. Масштабирование программы python mrjob на Apache Hadoop
- 30. Встраивание программы на C++ в Python GUI
Имейте взгляд на subprocess module – user2085282
Существует множество способов взаимодействия процессов. Вы можете найти [zeromq] (http://zguide.zeromq.org/page:all) хороший способ пойти. – tdelaney