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

问题描述 投票:0回答:3

在使用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')

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

这是我程序的输出:

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

python python-3.x pycharm os.system
3个回答
6
投票

PhCharm 使用输出控制台显示正在运行的模块的输出。为了使

os.system()
下的终端命令正常工作,您需要在输出控制台中模拟终端。

  1. 从“运行”菜单中选择“编辑配置”。
  2. 在“执行”部分下,选择“在输出控制台中模拟终端”

JetBrains Sergey Karpov 添加

我们的运行窗口不支持一些可以在其中执行的操作 终点站。其中之一是清除输出。

试图清除时 “非终端”输出窗口中的输出,PyCharm 甚至显示 TERM 环境变量未设置.

设置那个变量 在某些情况下手动可能会有所帮助,但其他特定于终端的事情 仍然缺失,这就是为什么我们可以选择模拟 运行窗口中的终端。


3
投票

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

如果还是不行。

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

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


0
投票

这里有一个例子:

import time
import os

while True:
    os.system('cls')
    age = int(input('how old are you?'))
    if age >= 18:
        print('you are at the legal age in America to vote!')
    else:
        print('you cannot vote!')
    time.sleep(3)
© www.soinside.com 2019 - 2024. All rights reserved.