我目前正在开发一个函数,它将循环遍历一系列函数,然后在到达底部后从顶部重新启动。到目前为止,这是我的代码:
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
对这种情况有什么建议吗?我打算将它合并到我正在处理的程序中,但是它不会按时间间隔循环遍历文件,而是只在某个返回的条件下循环(例如另一个函数让循环函数知道某个函数已经运行,是时候切换到下一个代理了)。如果这是一个有点混乱,我将很高兴详细说明和清除任何混淆。如有任何建议、想法或修正,我们将不胜感激。谢谢!你知道吗
编辑:由于下面的评论,我修复了打印问题。但是,该函数不会遍历所有代理。。。有什么建议吗?你知道吗
不打印任何内容,因为您在打印前返回了一些内容。 循环将在第一次满足条件时中断,因为它将返回一个值并退出函数,而不会到达print语句(函数)和/或下一次迭代。你知道吗
顺便说一句,如果您真的想打印返回值,您可以打印函数本身:
print(loopProxySwitch())
相关问题 更多 >
编程相关推荐