Python报错string indices must be integers,求代码问题排查
解决"string indices must be integers"报错问题
嘿,我一眼就揪出问题所在啦!你遇到的这个报错完全是因为字符串切片的语法用错了~
错误原因
Python中获取字符串的子串时,不能用逗号分隔起始和结束索引,你写的text[0, int(stringloc)]会被Python识别为用元组(0, int(stringloc))去索引字符串,但字符串只接受单个整数作为索引,这就触发了"string indices must be integers"的错误。
而且你提到find方法返回的是23,这个值本身就是整数,完全没必要用int()转换哦。
修正后的代码
stringloc = 1 stringloc = text.find('http') print(stringloc) # 把逗号改成冒号,这才是正确的切片语法 print(text[0:stringloc]) # 更简洁的写法:起始索引为0时可以省略 print(text[:stringloc])
这样修改后,就能正确获取从字符串开头到"http"出现位置之前的子串啦~
内容的提问来源于stack exchange,提问作者mross01
相关产品推荐
相关产品推荐

