为什么 os.system('cls') 不清除最近的输出?

Why doesn't os.system('cls') clear the recent output?

在使用Dev-C++之前,我总是在C语言中使用system('cls')。现在正在学习Python和使用Pycharm 2020.2.3.

我尝试使用 os.system('cls')。这是我的程序:

import os

print("clear screen")
n = int(input(""))
if n == 1:
    os.system('cls')

我的程序没有错误,但没有清除最近的输出。

这是我程序的输出:

为什么不清除最近的输出似乎是什么问题?

此代码运行良好。我认为您 运行 的处理方式存在问题。你应该 运行 它带有命令提示符。

如果还是不行。

os.system('cls')  # on windows
os.system('clear')  # on linux / Mac

您可以在这里测试您的代码 https://www.python.org/shell/

PhCharm 使用输出控制台显示 运行 模块的输出。为了让 os.system() 下的终端命令正常工作,您需要在输出控制台中模拟您的终端。

  1. Select 'Edit Configurations' 来自 'Run' 菜单。
  2. 在 'Execution' 部分下,select 'Emulate terminal in output console'

JetBrains Sergey Karpov Adds:

Our Run window doesn't support some of the things that one can do in the terminal. One of them is clearing the output.

When trying to clear the output in a 'non-terminal' output window, PyCharm even shows that the TERM environment variable is not set.

Setting that variable manually may help in some cases, but other terminal-specific things are still missing, which is why we have an option to emulate the terminal in the Run window.