Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 29, 2023 11:53:59

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

 _now = now - now
мда…… жутковато

Офлайн

#2 Янв. 29, 2023 16:43:13

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

в этом последнем коде была проблемка
когда вызывалась функция 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()

при вызове 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version