Я работаю над проектом для класса, который вращается вокруг астрономии и положения телескопа с использованием Python 3.6. Мой проект включает в себя печать положения телескопа на консоли и многократное обновление. Я хочу, чтобы информация выводилась на консоль и перезаписывалась каждый раз, чтобы держать пользователя в курсе его текущей позиции. До сих пор я реализовал распечатку местного времени и UTC:
import time
from datetime import datetime
from numpy import array
import sys
#Initial conditions
longitude= 83.6123 #W
latitude= 41.6624 #N
tstep=1/24 #timestep between time calculations
zero_angle=latitude #when telescope is directly up, the angle between telescope and horizon is the latitude.
while stop!=1:
utc_time,loc_time=datetime.utcnow(),time.ctime()
print('UTC :',utc_time,'Local time:',loc_time,flush=True,end='\r')
#print('Coordinates: ', latitude, ' N',longitude, ' W')
time.sleep(tstep)
Некоторые вещи вверху предназначены для дальнейшего использования и пока не актуальны. Этот код в настоящее время распечатывает:
UTC : 2018-04-27 20:41:41.981367 Local time: Fri Apr 27 16:41:41 2018
и обновления, которые выводятся каждые 1/24 секунды. Я хотел бы, чтобы это происходило с несколькими строками (поэтому несколько строк обновляются с каждым шагом и перезаписываются). Flush = True и end = '\ r' я обнаружил в других потоках, но применение этого к отдельному оператору печати перезаписывает первую строку. Есть ли способ иметь несколько независимых строк, которые обновляются каждый раз? Спасибо!