如何解决Python split列表索引超出了tweepy
我正在使用Tweepy从Twitter提取推文并自动回复,并且我想在用户推文的开头进行拆分,以便该机器人不会不断地自我循环并无限循环地答复。
这是我得到的错误:
Traceback (most recent call last):
File "hello.py",line 47,in <module>
text = text.split("@DungeonTrekker ",1)[1]
IndexError: list index out of range
这是代码:
text = x.text
text = text.split("@DungeonTrekker ",1)[1] # Split tweet
API.update_status("@" + x.user.screen_name + text + x.user.name,x.id) # Tweet
print("Status Updated") # Console output
exclude.append(x.id) # Add to excluded list
当我使用给定的字符串作为输入运行代码时,这很好。我还打印了实际的字符串text
,它正确地接收了字符串,所以问题出在split()函数上,有什么想法吗?
解决方法
text = text.split("@DungeonTrekker ",1)[1] # Split tweet
此行告诉文本在@DungeonTrekker
如果@DungeonTrekker在该行的开头,则前面将没有任何内容,而在其后则是其余文本。索引0为”,索引1为其余推文。
但是,如果您正在接受其他用户的推文,一开始就不会有@DungeonTrekker
,因此,除非在推文中提到,否则您的索引只能为0。 >
您可以在
(空格)处拆分,并采用第一个索引来解决此问题,无论用户名是什么(我不使用twitter,但我假设用户名),它将正确分割。
a =“ ababdababd adbabd”
a.split(“ 1”,1)[1] 追溯(最近一次通话): 文件“”,第1行,位于 IndexError:列表索引超出范围
我认为您的问题出在您的字符串中,不会分裂
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。