是否有更好的循环代码方法?

时间:2014-09-03 02:15:03

标签: python loops time

我正在教自己python,我正在尝试在某个时间打开CD驱动器的代码。出于测试的原因,我一直在使用time.clock()因为它只使用数字,但我想使用time.ctime()以便程序在特定时间工作。这是我到目前为止的代码。

import time
import ctypes
if(time.clock()==10):
    ctypes.windll.winmm.mciSendStringW("set cdaudio door open",
            None, 0, None)
for x in range(10**100):
    print(x)
    if(20>time.clock()>10):
        ctypes.windll.winmm.mciSendStringW("set cdaudio door open",
            None, 0, None)
        quit()

我正在使用print(x)函数来监控代码,我将范围设置得足够高,以至于在达到门打开的秒数之前它不会停止。

1 个答案:

答案 0 :(得分:0)

而不是for x in range(10**100):你可以使用

while True:
    # do stuff forever

此循环将继续,直到您明确break out(或返回函数,引发异常或退出程序等)。

time.ctime()返回一个字符串,不适合与给定时间进行比较。相反,我建议使用datetime模块

go_time = datetime.datetime(2014, 9, 3, 12, 30)
while True:
    now = datetime.datetime.now()
    if now >= go_time:
        # open the draw etc...
        quit()