【发布时间】:2019-11-18 22:28:04
【问题描述】:
我想创建一个无限期运行的while 循环,直到条件为真。
问题是当条件不成立时,循环只运行大约两分钟,然后中断返回以下错误:
RecursionError: maximum recursion depth exceeded in comparison
这是完整的代码:
def request():
s = requests.Session
r = s.get(url)
return r
def data(r):
soup = BeautifulSoup(r.text, 'lxml')
list = soup.select('.class')
return list
def loop(list):
n = 10
while True:
len(list) != n
if len(list) == n:
print('Lorem ipsum')
main()
else:
return len(list)
def main():
r = request()
list = data(r)
len(list) = loop(list)
if __name__ == "__main__":
main()
【问题讨论】:
-
您可以使用
sys模块来更改最大值。递归:import sys; sys.setrecursionlimit(num) -
@Ruan 最好让他们识别并修复导致问题的代码中的错误。
-
听起来你有
main和loop互相调用直到堆栈溢出。但是你还没有发布main,所以很难知道为什么你这样做了。如果您发布 minimal reproducible example 有人可以提出替代方案。 -
@khelwood 你是对的。
main()基本上是调用其他函数。我将编辑问题。
标签: python if-statement while-loop