python字典键错误无法解决

python字典键错误无法解决,第1张

概述我在一个巨大的链接列表中执行状态检查,我的代码如下: link = 'http://xyz'proxyDict = { "http" : "ip:80", "https" : "https://ip:443"}r = requests.get(link, allow_redirects=False, verify=False)http_status = r.status_codeprint @H_502_4@ 我在一个巨大的链接列表中执行状态检查,我的代码如下:

link = 'http://xyz'proxyDict = { "http" : "ip:80","https" : "https://ip:443"}r = requests.get(link,allow_redirects=False,verify=False)http_status = r.status_codeprint (r.headers)# check the status and react accordinglyif http_status == 200 and r.headers['content-length'] == "0":   print ('link Alive - NO content'+';'+str(http_status)+';'+link,file = log)elif http_status == 200 and "text/HTML" in r.headers['content-type']:   print ('External- direct HTML link'+';'+str(http_status)+';'+link,file = log)  elif http_status == 200 and "application" in r.headers['content-type']:   print ('External- direct HTML link'+';'+str(http_status)+';'+link,file = log)

当我执行代码时,我收到以下错误

return self._store[key.lower()][1]    KeyError: 'content-length'

标头输出如下:

CaseInsensitiveDict({'status': '200',path=/; httpOnly,shpuvID=rBBcnFJUTliSHV+hA5lLAg==; expires=Thu,08-Oct-15 18:26:32 GMT;'connection': 'keep-alive','cache-control': 'max-age=0,private,must-revalIDate','date': 'Tue,08 Oct 2013 18:26:32 GMT','content-type': 'text/HTML; charset=utf-8','x-rack-cache': 'miss'})

我知道错误的存在是因为标头输出没有键“content-length”,但是如果条件不满足则必须跳转到下一个不发生的elif条件,而是停止代码执行抛出上述错误.

有什么建议?可能是一个愚蠢的问题,但对初学者来说是一件好事.

@H_502_4@解决方法 不使用括号表示法,而是使用字典中的r.headers.get(‘content-length’),它不会引发键错误,只返回None.

很好,您可以使用任何一种表示法从字典中检索值.很多时候,您希望抛出关键错误,以免让问题被忽视.在这种情况下,看来dictionary.get()就是你想要的.

@H_502_4@ @H_502_4@ @H_502_4@ @H_502_4@ 总结

以上是内存溢出为你收集整理的python字典键错误无法解决全部内容,希望文章能够帮你解决python字典键错误无法解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存