在代理列表中循环

2024-09-28 01:31:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在开发一个函数,它将循环遍历一系列函数,然后在到达底部后从顶部重新启动。到目前为止,这是我的代码:

import time

createLimit = 100
proxyFile = 'proxies.txt'


def getProxies():
  proxyList = []
  with open(proxyFile, 'r') as f:
    for line in f:
      proxyList.append(line)

  return proxyList


proxyList = getProxies()


def loopProxySwitch():
  print("running")
  current_run = 0
  while current_run <= createLimit:
    if current_run >= len(proxyList):
      lengthOfList = len(proxyList)
      useProxy = proxyList[current_run%lengthOfList]
      print("Current Ip: "+useProxy)
      print("Current Run: "+current_run)
      print("Using modulus")
      return useProxy
    else:
      useProxy = proxyList[current_run]
      print("Current Ip: "+useProxy)
      print("Current Run: "+current_run)
      return useProxy
    time.sleep(2)
  print("Script ran")

loopProxySwitch()

我遇到的问题是loopProxySwitch函数在while循环中不返回或打印任何内容,但是我看不出它是如何错误的。以下是带有假代理的文本文件的格式:

111.111.111.111:2222
333.333.333.333:4444
444.444.444.444:5555
777.777.777.777:8888
919.919.919.919:0000

对这种情况有什么建议吗?我打算将它合并到我正在处理的程序中,但是它不会按时间间隔循环遍历文件,而是只在某个返回的条件下循环(例如另一个函数让循环函数知道某个函数已经运行,是时候切换到下一个代理了)。如果这是一个有点混乱,我将很高兴详细说明和清除任何混淆。如有任何建议、想法或修正,我们将不胜感激。谢谢!你知道吗

编辑:由于下面的评论,我修复了打印问题。但是,该函数不会遍历所有代理。。。有什么建议吗?你知道吗


Tags: 函数run代理returntimedefcurrent建议
1条回答
网友
1楼 · 发布于 2024-09-28 01:31:31

不打印任何内容,因为您在打印前返回了一些内容。 循环将在第一次满足条件时中断,因为它将返回一个值并退出函数,而不会到达print语句(函数)和/或下一次迭代。你知道吗

顺便说一句,如果您真的想打印返回值,您可以打印函数本身:

print(loopProxySwitch())

相关问题 更多 >

    热门问题