我目前正在开发一个循环功能列表的函数,然后一旦到达底部就重新开始。到目前为止,这是我的代码:
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
有关这种情况的任何建议吗?我打算将它合并到我正在处理的程序中,但不是在定时间隔内循环遍历文件,它只会循环某个返回条件(例如让循环函数知道某些函数具有的另一个函数)跑了,是时候切换到下一个代理了。如果这有点令人困惑,我将很乐意详细阐述并澄清任何困惑。任何建议,想法或修复都表示赞赏。谢谢!
编辑:感谢下面的评论,我修复了打印问题。但是,该函数不会遍历所有代理...任何建议?
答案 0 :(得分:0)
由于您在打印前返回了某些内容,因此不打印任何内容。 循环将在第一次满足条件时中断,因为它将返回一个值并退出函数而不会到达print语句(函数)和/或下一次迭代。
顺便说一句,如果你真的想要打印返回的值,你可以打印函数本身:
print(loopProxySwitch())