В Unix-подобных системах консольное окно - это символьное устройство, которое может быть любым из окна графического интерфейса пользователя фактическим терминалом.Разные типы «устройств» требуют разных методов очистки экрана.Обычно, когда оболочка запускается в терминале, для переменной среды TERM устанавливается значение, указывающее, какой это тип терминала, и процедуры, очищающие экран, обращаются к этому, чтобы определить, какие символы записать, чтобы очистить его.
Если вы попробуете свое первое решение в окне терминала Mac, оно очистит экран.Если вы попробуете это даже без использования Python, но сбросите переменную окружения TERMINAL, то даже системная команда очистки не будет знать, как очистить экран:Python, а не к окну терминала PyCharm, которое, как представляется, не устанавливает эту переменную среды.
Возможно, что окно терминала PyCharm не поддерживает ANSI или другие последовательности для очистки экрана. поддерживает некоторые escape-последовательности для цветного текста, по крайней мере.Может случиться так, что он просто неправильно устанавливает переменную окружения.Вы можете попробовать export TERM=ansi
в терминале и , а затем попытаться запустить команду очистки, чтобы проверить, работает ли это.
Еще одна вещь, которую вы можете попробовать, это использовать Нажмите очистить экран независимо от устройства и платформы.Клик довольно хорош в целом.Следующее, например, работает для меня даже после того, как я сбросил TERM в терминале:
import click
click.clear()