Python编程时间

2024-04-19 23:34:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想编程的时间是独立的,在后台自己运行,滴答每秒,并自动更改日期每24秒(1秒=1小时)

def PrintTime():
    D = 1
    M = 1
    Y = 2019
    print(D,"/",M,"/",Y)
    Time = 0
    while Time < 24:
        Time += 1
        time.sleep(1)
        if Time == 24:
            Time = 0
            D += 1
            M += 1
            if M in list[2,4,6,9,11] and D > 30:
                D = 1
            if M in list[1,3,5,7,8,10,12] and D > 31:
                D = 1
            if M > 12:
                M = 1
                Y += 1

这是我的想法,但问题是整个程序每秒钟都在睡觉,这是我不想发生的。相反,我希望自己在后台运行这个程序,而不影响程序的其余部分


Tags: andin程序iftimedef编程时间
1条回答
网友
1楼 · 发布于 2024-04-19 23:34:09

您可以使用threading模块启动一个线程,该线程与其他代码同时运行您的函数。例如:

import threading
import time


def PrintTime():
    D = 1
    M = 1
    Y = 2019
    print(D, "/", M, "/", Y)
    Time = 0
    while Time < 24:
        print("Background thread: Time=", Time)
        Time += 1
        time.sleep(1)
        if Time == 24:
            Time = 0
            D += 1
            M += 1
            if M in list[2, 4, 6, 9, 11] and D > 30:
                D = 1
            if M in list[1, 3, 5, 7, 8, 10, 12] and D > 31:
                D = 1
            if M > 12:
                M = 1


thread = threading.Thread(target=PrintTime)
thread.start()

for i in range(10):
    print("do sth else", i)
    time.sleep(.7)

相关问题 更多 >