os.system ('cls') открывает командную строку вместо очистки оболочки? - PullRequest
1 голос
/ 01 июня 2019

Я работаю над текстовой приключенческой игрой, использующей Python, в которой есть текстовая прокрутка текста. Итак, я сделал это, чтобы попытаться создать иллюзию добавления одного символа в каждый цикл и удаления последней, менее полной строки. Однако вместо удаления последнего экрана открывается командная строка.

Я пытался использовать печать ('n \ * 100') и другие подобные приемы печати, но у меня нет результата, который я ищу. Я также пытался переключаться между «cls» и «clear» в случае, если я делал это неправильно, но даже когда я сделал заявление if, ссылаясь на разницу между ними, я все еще получаю ошибки.

в то время как charcount

if os.name == 'nt':

  os.system('cls')

else:

  os.system('clear')

newtext.append(text[charcount])

print("".join(newtext))

charcount += 1

Я ожидал, что экран очистится и напечатает только текущую итерацию newtext, но вместо этого он игнорирует это, не очищает экран и многократно открывает и закрывает командную строку.

1 Ответ

1 голос
/ 02 июня 2019

Ваш код отлично работает в CMD и PowerShell.
Это заставляет меня предположить, что вы используете IDLE, потому что указанное вами поведение воспроизводимо только тогда, когда я использую IDLE.

Если это так, очистить окно IDLE невозможно. Вы все еще можете использовать CMD, и он будет работать просто отлично.

См. Есть ли способ очистить окно IDLE Python?

...