在终端中打开另一个文件后如何清理终端(cmd)

时间:2015-01-03 21:36:57

标签: python windows cmd pygame subprocess

this问题,我解决了这个问题,但现在又出现了另一个问题。现在我的第一个.exe文件是在Pygame中用这些代码打开的;

process = subprocess.Popen(["wtf.exe"])
output, errors = process.communicate()

此文件(wtf.exe)向用户询问信息打开Pygame并将该信息放入Pygame;

enter image description here

当我确认这些信息时,它打开了Pygame屏幕,其中包含我在第一个程序中提供的信息并关闭了第一个程序;

enter image description here

到目前为止一切都很好,当我点击'播放'时,它在终端打开另一个文件;但是最后一个文件的数据仍在那里。

enter image description here

你看,这里的第一张图片的数据,应该没有这些数据。为什么终端没有自己清理?它是在终端中运行的另一个.exe文件,一个新“新”终端上的新文件,但它看起来并不新鲜。首次处理文件后如何清理终端?如你所知,这些是在终端上工作的.exe文件,我无法手动清除终端,我必须在这些文件中写一些代码,但我不知道该怎么做。

  

修改:我故意提供了一些不可接受的信息,请查看此图片:

enter image description here

  

Edit2 Here是我问题的视频。

2 个答案:

答案 0 :(得分:1)

如果可能,* nix上的

cls internal command (Windows) / clear命令清除终端屏幕及其回滚缓冲区:

import os

os.system('cls')
在发表评论之前

试一试

作为替代方案,您可以start a new console window (creationflags=CREATE_NEW_CONSOLE on Windows) for each command或仅使用最后一个命令,即,当命令结束时,其窗口关闭,因此无需清理。

您也可以在没有控制台的情况下将父脚本作为GUI程序(使用.pyw文件扩展名)运行,即,如果子进程需要控制台;它必须分配自己的。

答案 1 :(得分:1)

@ J.F。塞巴斯蒂安给了你一个方法,就是从你的代码中清除屏幕。

但是,由于您已经在使用pygame,因此可以使用inputbox module提示用户输入。

这样就完全消除了这个问题。