在 PyCharm 中尝试使用 os.system('cls') 清除/覆盖标准输出不起作用,但会打印一个矩形符号

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

我正在尝试用 Python 制作井字游戏,但遇到了问题。

1

正如你在图片上看到的,它在输入后重写播放板,我想要它做的是清除输出然后重写板。因此,它不是一直打印新板,而是只清除当前板并重写它。我搜索了“清晰输出”等,但只找到了这些片段:

import os

clear = lambda: os.system('cls')

import os

def clear():
    os.system('cls')

但是,它对我不起作用。它只返回这个符号:

2

我目前正在 PyCharm 中编写我的代码,为了清楚起见,我想将它保留在 PyCharm 中。

python terminal pycharm stdout
5个回答
18
投票

在 jupyter 中添加以下内容对我有用:

from IPython.display import clear_output
clear_output(wait=True)

9
投票

我从您的代码中看到语法错误,您缺少“:”。

clear = lambda : os.system('cls')

但是避免使用 lambda 并为 clear 定义一个函数,因为它更容易阅读。

def clear():
    os.system( 'cls' )

然后你可以清除窗口:

clear()

2
投票

用于清除 Python for Linux 控制台输出的代码:

def clear():
    os.system('clear')

0
投票

首先,使用 Python 包安装程序 pip 安装 IPython:

pip install IPython

在你的脚本中写下以下内容

form IPython.display import clear_output

我想现在应该可以了


0
投票

这取决于操作系统, 如果你想确定你能做到:

import os, platform
def clear():
   if platform.system() == 'Windows':
      os.system('cls')
   else:
      os.system('clear')

并调用函数:

clear()

但是如果你只想要 Windows 操作系统(Windows 10/11/7/8/8.1 ecc..)就可以了:

import os
clear = lambda:os.system('cls')

你也这么称呼它:

clear()
© www.soinside.com 2019 - 2024. All rights reserved.