我不能 100% 确定您要问什么,因为您的示例代码当前的缩进不正确。
我假设你的意思是这样的:
import time
wait = 10
for i in range(wait):
wait -= 1
time.sleep(1)
print(wait)
如果您只是删除 time.sleep(1),则在倒计时时将不再出现延迟。这应该有效:
wait = 10
for i in range(wait):
wait -= 1
print(wait)
[编辑]
啊,非常感谢您的澄清!我相信这就是您正在寻找的:
import time
while True: # Here is your while loop!
wait = 10 # Change this to 900 (seconds) to get 15 minutes.
for i in range(wait+1):
print(wait)
wait -= 1
time.sleep(1) # Delay for one second.
print("Send email here!")
[双重编辑]
哦,您希望发送电子邮件不会阻止程序的主要部分! @kenny-ostrom 所说的在这里是正确的,那么,您想以某种方式使用线程。这是每 15 分钟或 900 秒发送一封电子邮件的示例。这发生在后台,无论 while 循环做什么都不被阻塞或延迟。这应该是您正在寻找的。 c:
import threading, time
def send_my_email():
while True:
time.sleep(3) # Every 15 minutes is 900.
print("Send email now saying: {}".format(email_content))
thread = threading.Thread(target=send_my_email)
thread.start()
# Make a background thread and use the function: send_my_email
while True:
# Do anything here. No delays will happen.
for number in range(10, 0, -1):
print(number)
email_content = number*3 # You can modify email content here.
time.sleep(1)