Python 3.x Python 3.7-当一个计数器达到某个值时,第二个计数器加上一个(两个计数器同时运行)

Python 3.x Python 3.7-当一个计数器达到某个值时,第二个计数器加上一个(两个计数器同时运行),python-3.x,urllib3,Python 3.x,Urllib3,我这里的代码为我工作: import urllib3 http = urllib3.PoolManager() location = 'Drive\\where-images-go\\' N = 0 for x in range(0, 5000): urls = ('http://00000.IMAGE_1_'+str(x)+'.jpg') r = http.request('GET', urls) Name = str(N+1) N += 1 wit

我这里的代码为我工作:

import urllib3

http = urllib3.PoolManager()
location = 'Drive\\where-images-go\\'
N = 0

for x in range(0, 5000):
    urls = ('http://00000.IMAGE_1_'+str(x)+'.jpg')
    r = http.request('GET', urls)
    Name = str(N+1)
    N += 1
    with open(location + 'image'+Name+'_image.jpg', 'wb') as img:
      img.write(r.data)
此代码将创建一个url,该url将从0到5000对str(x)进行计数。但是我还要加上另一个计数器,每5000个计数器加1,上面的计数器在这五个零的位置向上。例如:

import urllib3
http = urllib3.PoolManager()
location = 'Drive\\where-images-go\\'
N = 0

for x in range(0, 224999):
    for every 5000 in x:
        othercounter = oc
        oc = oc +1
        urls = ('http://'+str(oc)+'.IMAGE_1_'+str(x)+'.jpg')
        r = http.request('GET', urls)
        Name = str(N+1)
        N += 1
        with open(location + 'image'+Name+'_image.jpg', 'wb') as img:
          img.write(r.data)
所以每次str(x)达到5000,oc(其他计数器)就会上升1。由于第二个示例代码的范围是(0224999),oc计数器将是44,最后一个url将是“”。第一个图像将是“”


如何解决这个问题

你可以使用mod
%
每5000页打印一次,我已经指出了你应该做的其他事情来实现你的目标:

  • oc
    应初始化为
    -1
    ,因为您希望从
    0
  • 我想你需要
    oc
    保持5个宽度,前缀
    0
    ,比如
    00044
    ,所以你应该在这里使用
    rjust
    str(oc).rjust(5,'0')
  • 0
    范围(0224999)
  • 输出

    first url: http://00000.IMAGE_1_1.jpg
    last url: http://00044.IMAGE_1_224999.jpg
    

    希望这对您有所帮助,如果您还有其他问题,请发表评论。:)

    你可以使用mod
    %
    每5000页打印一次,我已经指出了你应该做的其他事情来实现你的目标:

  • oc
    应初始化为
    -1
    ,因为您希望从
    0
  • 我想你需要
    oc
    保持5个宽度,前缀
    0
    ,比如
    00044
    ,所以你应该在这里使用
    rjust
    str(oc).rjust(5,'0')
  • 0
    范围(0224999)
  • 输出

    first url: http://00000.IMAGE_1_1.jpg
    last url: http://00044.IMAGE_1_224999.jpg
    

    希望这对您有所帮助,如果您还有其他问题,请发表评论。:)

    如果我正确理解了您需要什么,您只需检查当前数字是否可以被您需要的间隔整除(在本例中为5000)

    还请注意,通过将范围限制设置为5000,您的第一个计数器将只运行到4999

    other_计数器=0
    对于范围(0,15_001)内的x:#包括从0到15000的运行。
    如果x%5000==0:#每次达到5000的倍数时,结果为真。
    其他_计数器+=1
    
    如果我正确理解了您需要的内容,您只需检查当前数字是否可以被您需要的间隔整除(在本例中为5000)

    还请注意,通过将范围限制设置为5000,您的第一个计数器将只运行到4999

    other_计数器=0
    对于范围(0,15_001)内的x:#包括从0到15000的运行。
    如果x%5000==0:#每次达到5000的倍数时,结果为真。
    其他_计数器+=1
    
    我认为这不是一个真正的图像链接,只是一个示例输出url:)@Frenchyyes我已经理解了!!我认为这不是一个真正的图像链接,只是一个示例输出url:)@Frenchyyes我已经理解了!!