在循环python中重复化合物

时间:2014-08-01 21:55:03

标签: python django python-3.x

好日子朋友们! 请告诉我,我有以下代码:

all_users = UserProfile.objects.all()
for s,usera in enumerate(all_users):
             name = usera.nickname
             name_id = usera.id
             print(s)
             if int(s) <= 50:
                 print('1_iterator')
                 r = api.request(example)
             elif int(s) <= 100:
                 r = api2.request(example)
             elif #a total of seven compounds, api3,api4,api5,api6,api7
             try:

                for item in r.get_iterator():
                #then loop adds data to the database

如何在每50次迭代连接到新api时获得一个循环,如果他从一开始就达到七次,那么还没有到达数据库中的最终用户?

预先谢谢!

1 个答案:

答案 0 :(得分:2)

您可以设置itertools.cycle

apis = itertools.cycle([api1, api2, api3, api4, api5, api6, api7])
for s,usera in enumerate(all_users):
         if (s % 50) == 0:
             current_api = apis.next()
         name = usera.nickname
         name_id = usera.id
         print(s)
         current_api.request(example)
         ...