sunshine
管理员
管理员
  • 最后登录2023-10-30
  • 发帖数170
  • 社区居民
阅读:33124回复:0

python index方法 :报ValueError: substring not found

楼主#
更多 发布于:2017-07-09 17:56
if title_node is None:
            res_data = {}
        elif title_node.get_text().index('error') or title_node.get_text().index('错误') or title_node.get_text().index('错'):
            res_data['url'] = page_url
            res_data['title'] = title_node.get_text()


在执行上述代码时,总报:

ValueError: substring not found
还以为是代码出了问题,最后查阅文档:
    “Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常


     查了文档才发现python中的index方法,当没有找到指定的字符串时,不会像其它语言一样返回,-1,而是抛出一个ValueError的异常。(PS: 看来惯性思维也有不好的)


    解决方案:可以使用python提供的find的方法,用find 去替代index.
                      请查阅  https://docs.python.org/2/library/string.html#string.index

   参考:https://stackoverflow.com/questions/22747092/valueerror-substring-not-found-what-am-i-doing-wrong

              http://www.runoob.com/python/att-string-index.html
游客


返回顶部

公众号

公众号