|
6 / 6 / 5
Регистрация: 15.05.2014
Сообщений: 104
|
||||||
Перехват ввода-вывода24.09.2015, 02:37. Показов 17070. Ответов 25
Метки нет (Все метки)
Предположим есть некоторая внешняя программа external.py или external.exe. Программа принмает и печатает данные в консоли. Как, при помощи другой программы работать с этими данными(перехват потоков ввода вывода)?
Вот небольшой пример в нешней программы:
Добавлено через 24 минуты Вообще говоря, я хочу сделать тестер консольных приложений. На вход подаются некоторые данные на выходе получаются тоже данные. Сравнивать ожидаемые данные с полученными. И хотелось бы чтобы работало как с файлами так и с консолью. И хочется, чтобы он работал также просто и прозрачно как класс тестирования, унаследованный от unittest.TestCase
0
|
||||||
| 24.09.2015, 02:37 | |
|
Ответы с готовыми решениями:
25
Перехват потоков ввода/вывода Перехват потоков ввода/вывода |
|
|
|
| 28.09.2015, 10:02 | |
|
Не нервничайте. Будете нервничать - обижусь и уйду.
В чём проблема заменить "Hello world" на то, что вы получили из вывода процесса? Или вы там получаете одни None? Но тогда проблема - получить из процесса, что надо, а не записать.
0
|
|
|
Заблокирован
|
|||||||
| 28.09.2015, 10:16 | |||||||
|
Видно же было выше что получаю None.
И
Добавлено через 1 минуту По логике надо вывод сначала копировать. Это возможно?
0
|
|||||||
|
Заблокирован
|
|||||||||||
| 28.09.2015, 10:39 | |||||||||||
|
Я плохо знаю subprocess.Popen.
communicate использую потому что получается управлять проигрывателем в консоли. Следовательно принимаются сигналы с клавиатуры. Вывод изменяется, например показывает что повысил громкость или перешёл в другую позицию по файлу. В случае
На клаву не реагирует. При
Добавлено через 5 минут Я и в прошлый раз забросил по тому что не захотел всю документацию к subprocess разбирать. Там ещё пришлось бы с пайпами разбираться. Оставил на потом.
0
|
|||||||||||
|
|
|
| 28.09.2015, 10:41 | |
|
Во втором варианте вы не используете communicate, значит, процессу ничего не передаёте.
Сигналы с клавиатуры если принимаете, то они принимаются вашим приложением. Оно должно преобразовать из в текст и передать communicate. Я не делал communicate с интерактивностью, только фиксированные команды передавал. Подозреваю, что после того, как ваш пустой communicate отработал, программа (ваша) просто переходит дальше и процесс уже не принимает ничего от вашей программы, сам по себе работает.
0
|
|
|
Заблокирован
|
||||||
| 28.09.2015, 10:50 | ||||||
|
Похоже надо снова забить. Происходит что-то сложное с выводом. Как может быть несколько выводов?
Я сейчас запустил напрямую в консоли без питона.
Надо не с subprocess разбираться а с приложением. Извините что отвлёк Вас по пусту. Как то наверняка можно сделать но знаний пока не хватает.
0
|
||||||
| 28.09.2015, 10:50 | |
|
Перехват ввода-вывода другой программы Перехват стандартных потоков ввода-вывода Перехват ввода/вывода процесса нестандартными способами
Перехват вывода консольного приложения (сложный вариант вывода приложением информации на консоль) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|