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