For 循环:如何在 100 次循环后暂停 x 秒? [复制]
Posted
技术标签:
【中文标题】For 循环:如何在 100 次循环后暂停 x 秒? [复制]【英文标题】:For loop: How can I pause it after 100 loops for x seconds? [duplicate] 【发布时间】:2015-03-02 10:03:58 【问题描述】:我有以下for loop
:
for user_id in new_followers:
try:
t.direct_messages.new(user_id=user_id, text="Thanks for following. Etc etc etc")
print("Sent DM to %d" % (user_id))
followers_old.add(user_id)
为避免 API 限制,我想在每次发送 100 条直接消息时暂停循环 600 秒。
最好的方法是什么?
【问题讨论】:
@vaultah 不是真的。我知道如何让 python 程序休眠,但我的问题是在 X 循环完成后让它休眠。 你可以使用time.sleep(x),这里x的单位是mili sec 【参考方案1】:你可以试试这个:
for i, user_id in enumerate(new_followers):
try:
t.direct_messages.new(user_id=user_id, text="Thanks for following. Etc etc etc")
print("Sent DM to %d" % (user_id))
followers_old.add(user_id)
if (i+1)%100 == 0:
time.sleep(x) # here x in milisecond
【讨论】:
不过应该是== 99
。此外,time.sleep
需要几秒钟,而不是几毫秒。
i+1 % 100
在大多数语言中不会做你想做的事。 Python在这里不同吗,还是需要parens来覆盖%
的优先级?
是的,谢谢你的通知,我错过了【参考方案2】:
你可以这样做:
import time
count = 0
for user_id in new_followers:
count +=1
if count == 100:
count = 0
time.sleep(600)
try:
t.direct_messages.new(user_id=user_id, text="Thanks for following. Etc etc etc")
print("Sent DM to %d" % (user_id))
followers_old.add(user_id)
【讨论】:
伙计,在这个问题上我们就像鲨鱼一样!【参考方案3】:-
在循环中使用
counter
,最多计算 100 条消息。
当counter == 100
时,使用
from time import sleep
sleep(AMOUNT_OF_TIME)
【讨论】:
【参考方案4】:你可以使用:
import time
然后
time.sleep(seconds)
睡觉。您可以在不到一秒的时间内使用浮点数。
有一点需要注意,如果你这样做,人们可能会恨你。
【讨论】:
我的问题是关于在 X 循环完成后休眠它。以上是关于For 循环:如何在 100 次循环后暂停 x 秒? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 Shiny 应用程序中,如何暂停 for 循环以获取用户输入,然后在单击按钮后继续?