我的小脚本处理从网址传递的几个参数;
bright = int(urlparse.parse_qs(urlparse.urlparse(self.path).query).get('bright', None)[0])
loops = int(urlparse.parse_qs(urlparse.urlparse(self.path).query).get('loops', None)[0])
speed = float(urlparse.parse_qs(urlparse.urlparse(self.path).query).get('speed', None)[0])/1000
然而,有些参数是可选的,有时候例如“亮”等。未在网址中传递,因为它不相关。在这种情况下,它会抛出这个错误;
bright = int(urlparse.parse_qs(urlparse.urlparse(self.path).query).get('bright', None)[0])
TypeError: 'NoneType' object has no attribute '__getitem__'
我能理解......它试图解析那些不存在的东西。处理这个问题的最佳方法是什么?有没有办法在尝试解析之前首先获取url中存在的参数列表?
答案 0 :(得分:0)
嗯......为什么不循环遍历从parse_qs()
获取的参数字典,以查看网址中存在的可用参数?
此外,您可以使用try/except
块捕获无事件,并采取相应的行动。