在新的cmd窗口中打印python代码的输出

时间:2018-05-14 10:24:00

标签: python printing cmd window output

我想打开一个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

...在同一个窗口

目的是能够在执行代码期间在该窗口上打印某些变量。

我被困了,我不知道这是否可能。我在使用Python 2.7的W10上

非常感谢

2 个答案:

答案 0 :(得分:0)

你想要的实际上是stdlib的logging包。只需将记录器配置为写入文件,然后在另一个命令窗口中使用Windows等效的unix tail -f <filename>命令来检查(几乎)实时登录的内容。

请注意,您也可以只记录(仍然使用logging lib)到sys.stderr,从命令窗口启动您的python应用程序然后您将在同一命令中记录所有日志窗口(典型的unix开发流程)。

作为最后一点:logging lib是可扩展的,因此您甚至可以编写自己的logging.handler来打开它自己的窗口并在其中显示日志消息(如果你真的想要的话)是浪费时间。)

答案 1 :(得分:-1)

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

os.system(command)

Echo没有很好地处理从版本到版本的换行符。所以这会输出序列12345