Вывести вывод кода Python в новом окне cmd - PullRequest
0 голосов
/ 14 мая 2018

Я хочу открыть окно cmd и использовать его для печати некоторых переменных.Проблема в том, что приведенный ниже код открывает 5 независимых окон (очевидным образом).

import os

for i in range(0,5):
    command = "start cmd /K echo " + str(i+1)
    os.system(command)

Я не знаю, могу ли я иметь ссылку или ссылку на уже открытое окно для отправки ему команд.

Желаемый результат будет ...

1
2
3
4
5

... в том же окне

Цель состоит в том, чтобы иметь возможность печатать в этом окне определенные переменные во времявыполнение кода.

Я застрял и не знаю, возможно ли это вообще.Я на W10 с Python 2.7

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

На самом деле вам нужен пакет logging из stdlib.Просто настройте свой регистратор для записи в файл, и в другом командном окне используйте Windows * эквивалент команды tail -f <filename> unix, чтобы проверить, что регистрируется в (почти) реальном времени.

Обратите внимание, что вы также можете просто войти(все еще используя logging lib) до sys.stderr, запустите ваше приложение python из командного окна, и тогда у вас будет вся запись в том же командном окне (типичный процесс разработки для Unix).

И последнее замечание: библиотека logging достаточно расширяема, так что вы даже можете написать свой собственный logging.handler, который открывает свои собственные окна и отображает в нем сообщения логов, если вы действительно этого хотите (но это действительно пустая трата времени).

0 голосов
/ 14 мая 2018
import os
command = "start cmd /K echo "
for i in range(0,5):
    command += str(i+1)

os.system(command)

Эхо плохо обрабатывает разрывы строк от версии к версии.Таким образом, это выводит последовательность 12345

...