将Python输出重定向到控制台窗口

将Python输出重定向到控制台窗口,python,Python,所以,我要寻找的是一种将Python的标准输出指向已经打开的Windows控制台窗口的方法 我正在用PyGame开发一个游戏,我想让所有的print()debug信息在我的第二个屏幕上弹出,在那里我打开了一个Windows终端。我知道我需要将sys.stdout更改为某个内容,但是如何将终端窗口指向它呢?因此,我最终使用了以下小脚本: import os import sys import time def main(): """ Starts the loop check.

所以,我要寻找的是一种将Python的标准输出指向已经打开的Windows控制台窗口的方法


我正在用PyGame开发一个游戏,我想让所有的
print()
debug信息在我的第二个屏幕上弹出,在那里我打开了一个Windows终端。我知道我需要将
sys.stdout
更改为某个内容,但是如何将终端窗口指向它呢?

因此,我最终使用了以下小脚本:

import os
import sys
import time


def main():
    """
    Starts the loop check.
    """
    if len(sys.argv) == 2:

        filename = sys.argv[1]

        while True:

            # Clears the window
            os.system("cls")

            print("Tailing: ", filename)

            # Opens the file and reads the lines from it
            with open(filename) as fileToRead:

                for line in fileToRead:
                    # Gets rid of the newline at the end
                    line = line.strip("\n")
                    print(line)  # lint:ok

                # Closes the file
                fileToRead.close()

            # Waits a bit
            time.sleep(0.5)

main()

所以,我要做的是打开一个控制台,用我设置的
sys.stdout
指向的文件调用这个脚本,这个脚本将每.5秒自动刷新一次,并读取文件。脚本可能需要在这里或那里进行一些调整,但大多数情况下,它工作得非常好。

我认为您无法做到这一点(写入已打开的控制台窗口)。为什么不直接写入一个日志文件(使用
日志记录
模块),然后在另一个窗口中写入呢?如果无法将stdout指向一个窗口,我想这可能是一个解决方案。我想我可以编写自己的脚本将日志文件打印到控制台(tail)。我仍然使用Martijn推荐的日志模块。编辑:不确定如何找到现有终端窗口的窗口。