Форум сайта python.su
_now = now - now
Офлайн
в этом последнем коде была проблемка
когда вызывалась функция timenows
она отпечатывала время и запускала таймер в себе еще раз что ускоряло время на 1 тик таймера
это был полный ужас, все время крашелось
обошел через дополнительную функцию и код работает стабильно
from threading import Timer import datetime as dt from datetime import datetime x=2 setlogtimer = 1 now = datetime.now() _now = now - now texttime_gtm ='' texttime_frame = '' def timenows(): global _now global setlogtimer global texttime_gtm global texttime_frame if x==1: now = datetime.now() # current date and time texttime_gtm = now.strftime("%H:%M:%S") timer = Timer(1, timenows) timer.start() print(texttime_gtm) return texttime_gtm if x==2: sec1 = _now + dt.timedelta(seconds=1) _now = sec1 timer = Timer(1, timenows) timer.start() print(sec1) texttime_frame =str(sec1) return texttime_frame timenows() def ejecttime_frame(): global texttime_frame texttime_frame = str(texttime_frame) print (texttime_frame) return texttime_frame ejecttime_frame()
def makelogs(data): global logging global frametime global localtime global timeing #if logging == 'on': x = package.setup.getsettings.getlogstatus() if x =='on': with open(file_log, "r+", encoding="utf-8") as file_object: # Move read cursor to the start of file. file_object.seek(0) # If file is not empty then append '\n' sata = file_object.read() if len(sata) > 0 : file_object.write("\n") # Append text at the end of file tim = ejecttime_frame() + ' | ' file_object.write(tim + data) else: pass
timenowsdef = threading.Thread(target=timenows()) timenowsdef.start()
Отредактировано Genabox (Янв. 29, 2023 16:48:12)
Офлайн