Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 8, 2016 15:08:18

Zorkiy
Зарегистрирован: 2016-02-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как в интерпретаторе Python вызвать выполнение команды в новом окне?

Например я написал функцию вывода текста из файла на экран интерпретатора. Нужно, чтоб эта же функция также запускала ещё одно окно интерпретатора и выводила бы этот текст в нём, таким образом не загромождая ход выполнения программы в “основном” окне.

Офлайн

#2 Фев. 8, 2016 20:46:28

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как в интерпретаторе Python вызвать выполнение команды в новом окне?

Zorkiy
из файла на экран интерпретатора
Боюсь вы ошибаетесь. У интерпретатора нет окна. Это окно консоли в которой он запущен.
  • можно воспользваться нормальной IDE
  • можно вывести результат в файл, и открыть его текстовым редактором.
  • можно породить еще одну командную консоль а отдельном процессе, так чтобы у нее появилось окно, в котором породить еще один питон.
А в общем случае этого сделать нельзя. Я вот сижу за компом, у меня вообще окон нет, есть только терминал, хоть тресни, никаких окон не будет.



Офлайн

#3 Фев. 9, 2016 00:53:59

Zorkiy
Зарегистрирован: 2016-02-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как в интерпретаторе Python вызвать выполнение команды в новом окне?

doza_and
Да, я имел ввиду вызов консоли из консоли. Это реально? И, конечно, выполнение в ней программы, в данном случае вывод текста из файла. Программа пишется в файле .py, а отдельные моменты её исполнения хочется выводить в отдельные окна.
Спасибо

Отредактировано Zorkiy (Фев. 9, 2016 00:56:28)

Офлайн

#4 Фев. 9, 2016 08:05:21

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как в интерпретаторе Python вызвать выполнение команды в новом окне?

Zorkiy
Это реально?
Вообще вопрос интересный. Поставленная задача имеет право на жизнь.
И да и нет. Будет окно или нет, это дело системной оболочки которая создает окна. Кроссплатформенно это не сделаешь. Например в винде, для которой очевидно оболочка одна, нужно выполнить “start python you.py”. Можно сделать системный вызов windows CreateConsole. Я бы при помощи subprocess запустил несколько текстовых редакторов, настроенных на обновление данных.
Можно попробовать запустить приложение порождающие консоль (cmd.exe, xterm) и попробовать его заставить что-то печатать на свое окно.
Обычно такие задачи решают разработкой GUI приложений. Там создавайте окна в любом количестве.



Отредактировано doza_and (Фев. 9, 2016 08:10:04)

Офлайн

#5 Фев. 9, 2016 09:19:22

Zorkiy
Зарегистрирован: 2016-02-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как в интерпретаторе Python вызвать выполнение команды в новом окне?

doza_and
Да, ясно, что тут нужно GUI, но, хотелось бы выполнить все именно в консольном варианте.
Спасибо за идеи. Буду искать, экспериментировать.

Офлайн

#6 Фев. 9, 2016 21:57:42

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как в интерпретаторе Python вызвать выполнение команды в новом окне?

Zorkiy
Буду искать, экспериментировать.
Для юникса описано тут http://superuser.com/questions/901232/redirect-stderr-to-second-terminal-tty



Офлайн

#7 Фев. 10, 2016 16:23:59

Zorkiy
Зарегистрирован: 2016-02-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как в интерпретаторе Python вызвать выполнение команды в новом окне?

doza_and
Значит должно быть решение и для windows 7

Офлайн

#8 Фев. 11, 2016 07:59:14

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как в интерпретаторе Python вызвать выполнение команды в новом окне?

Zorkiy
Значит должно быть решение и для windows 7
Совсем не значит. В винде разработчики вообще не заботятся о взаимодействии приложений. Есть неплохие терминалы, но они часть cygwin msys2. Это уже эмуляторы Unix для windows. Если вы такой приверженец windows то рекомендую один из них поставить. Сразу получите управление пакетами, терминал, нормальный командный язык, компиляторы, систему управления версиями и много еще чего без чего нормальную разработку ПО трудно представить.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version