Я хочу знать, как обновить консоль моей программы, как если бы она только что была запущена. Допустим, мой код состоит из бесконечного цикла и внутри него есть несколько экземпляров функции print(). Я хочу, чтобы каждый раз, когда этот цикл возвращается к своему началу, все новые данные, независимо от того, есть ли какие-либо изменения или нет, выводились. в том же месте данных, которые были выведены в последний раз.
Я читал о подобных проблемах, о которых писали другие, и ответы обычно вращаются вокруг идеи использования \r, однако когда я это делаю, это всегда беспорядочно, и строки либо печатаются наполовину, либо в них отсутствуют символы. В Replit есть модуль под названием «replit» и там есть функция Clear(), которая в основном выполняет то, что мне нужно, но я, похоже, не нахожу ее, когда использую PyCharm, а это означает, что, возможно, это что-то, что работает исключительно в среде Replit. Итак, я спрашиваю, есть ли что-то подобное в стандартной библиотеке Python, которую я могу использовать? Спасибо
Подробнее здесь: https://stackoverflow.com/questions/711 ... -in-python
Как обновить/перезаписать вывод консоли в Python ⇐ Python
-
Гость
Re: Как обновить/перезаписать вывод консоли в Python
import sys
import datetime
import pyfiglet
from time import sleep
def main():
while True:
print("\033[H", end="")
print("\033[2J", end="")
current_time = datetime.datetime.now()
sys.stdout.write(pyfiglet.figlet_format(f"{current_time.strftime("%X")}", font="slant"))
sys.stdout.flush()
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print("Your time is dying")
print("\n Exiting")
exit()
import datetime
import pyfiglet
from time import sleep
def main():
while True:
print("\033[H", end="")
print("\033[2J", end="")
current_time = datetime.datetime.now()
sys.stdout.write(pyfiglet.figlet_format(f"{current_time.strftime("%X")}", font="slant"))
sys.stdout.flush()
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print("Your time is dying")
print("\n Exiting")
exit()
-
Гость
Re: Как обновить/перезаписать вывод консоли в Python
Два этих регулярных выражения очищают терминал и переносят курсор
print("\033[H", end="")
print("\033[2J", end="")
есть на хабре articles/349860/
Так же доку стоит почитать
print("\033[H", end="")
print("\033[2J", end="")
есть на хабре articles/349860/
Так же доку стоит почитать
Мобильная версия