Python 你要等到什么时候?

Python 你要等到什么时候?,python,Python,我正在从以前请求的url获取数据。到目前为止一切正常 我的问题是: 我尝试每X秒进行一次查询,如果查询显示不同的值,则应该执行一些操作。但即使在最终响应返回时也会打印解决捕获!=未准备好 这是因为你写代码的方式, 假设最终回复尚未准备就绪,则会发生以下情况: while(finalresponseback==notready):#这将启用循环,因为它等于notready 打印(“解决捕获…”)#它会打印这个 如果最终响应返回!=notready:#不会发生任何事情,因为它等于notready 打

我正在从以前请求的url获取数据。到目前为止一切正常

我的问题是: 我尝试每X秒进行一次查询,如果查询显示不同的值,则应该执行一些操作。但即使在最终响应返回时也会打印解决捕获!=未准备好


这是因为你写代码的方式, 假设最终回复尚未准备就绪,则会发生以下情况:

while(finalresponseback==notready):#这将启用循环,因为它等于notready
打印(“解决捕获…”)#它会打印这个
如果最终响应返回!=notready:#不会发生任何事情,因为它等于notready
打印(“输入…”)#这不会发生
但是,如果突然发生变化:

while(finalresponseback==notready):#这发生在它更改之前
打印(“解决捕获…”)#这也发生在它更改之前,所以无论如何都会发生
如果最终响应返回!=notready:#这种情况也会发生
打印(“输入…”)#这也是如此,因此它将打印这两条语句
此代码不好,因为如果它更改为not be notready(未准备就绪),则它将退出循环而不执行任何操作,除非它在循环中更改,否则更好的版本是:

while(1):#开始循环
如果最终响应返回!=notready:#检查最终响应返回
打印(“输入…”)#打印语句
中断#退出循环
否则:#如果它等于notready
打印(“解决捕获…”)#打印语句
上面的代码直接检查循环中的finalresponseback,因此,它将能够打印语句,而不是像以前一样在开始时完全退出

最后,我们可以添加:

responseback\u json=responseback.json()
finalresponseback=responseback_json['request']
每x秒请求一次的代码,如下所示:

导入时间#添加到代码顶部,导入时间库
x=2#设置x变量
while(1):#开始循环
responseback_json=responseback.json()
finalresponseback=responseback_json['request']
如果最终响应返回!=notready:#检查最终响应返回
打印(“输入…”)#打印语句
中断#退出循环
否则:#如果它等于notready
打印(“解决捕获…”)#打印语句
时间。睡眠(x)
最后,是优化代码的技巧,而不是

notready=(str(“CAPCHA\u NOT\u READY”))
你能行

notready=“CAPCHA\u未准备好”

这是因为它已经是一个字符串值(由语音标记“”表示)

请写下您的代码,而不是共享图片。您是否尝试过
time.sleep()
?我认为通过这种方式,您可以每X秒在每个查询之间留出一个间隔。
 responseback = requests.get('https://2captcha.com/res.php?json=1&action=get&key=' + apikey + "&id=" + finalrequest)
 responseback_json = responseback.json()
 finalresponseback = responseback_json['request']
 print(responseback_json)
 notready = (str("CAPCHA_NOT_READY"))



 while(finalresponseback == notready):
     print("Solving-Capture...")
     if finalresponseback != notready:
         print("Entering...")