编写一系列非级联 if 语句的 Pythonic 方式
Pythonic way to write a series of non-cascading if statements
所以我编写了这段代码,用于使用 tweepy 从推特 REST API 中读取信息,我想在不超过速率限制的情况下收集大量信息。这个问题更像是一个概念性问题,而不是与 tweepy 相关的问题。到目前为止,这是我想到的唯一方法:
for i, tweet in enumerate(tweepy.Cursor(api.user_timeline, screen_name = "@twitter").items(1400)):
print(i, tweet.author.name)
if i == 200:
time.sleep(180)
if i == 400:
time.sleep(180)
if i == 600:
time.sleep(180)
if i == 800:
time.sleep(180)
if i == 1000:
time.sleep(180)
if i == 1200:
time.sleep(180)
if i == 1400:
sys.exit()
但是,与其编写一堆 if 语句,不如编写更 pythonic 的方式?或者如果它没坏就不要修理它?
for i, tweet in enumerate(...):
if i % 200 == 0 and i > 0:
time.sleep(180)
除 0 外,每 200 的倍数都会触发。
所以我编写了这段代码,用于使用 tweepy 从推特 REST API 中读取信息,我想在不超过速率限制的情况下收集大量信息。这个问题更像是一个概念性问题,而不是与 tweepy 相关的问题。到目前为止,这是我想到的唯一方法:
for i, tweet in enumerate(tweepy.Cursor(api.user_timeline, screen_name = "@twitter").items(1400)):
print(i, tweet.author.name)
if i == 200:
time.sleep(180)
if i == 400:
time.sleep(180)
if i == 600:
time.sleep(180)
if i == 800:
time.sleep(180)
if i == 1000:
time.sleep(180)
if i == 1200:
time.sleep(180)
if i == 1400:
sys.exit()
但是,与其编写一堆 if 语句,不如编写更 pythonic 的方式?或者如果它没坏就不要修理它?
for i, tweet in enumerate(...):
if i % 200 == 0 and i > 0:
time.sleep(180)
除 0 外,每 200 的倍数都会触发。