列表索引超出范围错误:城市中心.py

2024-09-29 01:19:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个简单的wordguard。我已安装城市中心.py在Python2.7中。 这个API通过JSON对象处理数据。如果这个词在城市词典里,我要真的,否则要假的。你知道吗

import urbandict 
ur = urbandict.define("ice")

错误:

Traceback (most recent call last):
  File "C:\Users\dmurp_000\Desktop\wordFuntcion.py", line 15, in <module>
    ur = urbandict.define("ice")
  File "C:\Python27\lib\urbandict.py", line 86, in define
    urbanDictParser.feed(data)
  File "C:\Python27\lib\HTMLParser.py", line 114, in feed
    self.goahead(0)
  File "C:\Python27\lib\HTMLParser.py", line 152, in goahead
    if i < j: self.handle_data(rawdata[i:j])
  File "C:\Python27\lib\urbandict.py", line 72, in handle_data
    self.translations[-1]['example'] += data.replace('\r', '\n')
**IndexError: list index out of range**

我试着处理索引,但程序没有做到这一点。 任何帮助都将不胜感激!你知道吗


Tags: inpyselfdatalibfeedlinefile
2条回答

错误是由于http://urbandictionary.com最近更改了其html标记。Development version (urbandict 0.2)支持新的html标记。您可以使用pip安装它:

$ pip install -e git+https://github.com/novel/py-urbandict#egg=urbandict

示例:

$ urbandicli Honorificabilitudinitatibus

1. honorificabilitudinitatibus   honorableness  Used by Shakespeare in Loves Labors Lost (Costartd;  Act V Scene I)
  Examples:
  *  For thou art not so long by the head as
    honorificabilitudinitatibus: thou art easier swallowed than a
    flap-dragon.

在城市中心.py在handle\u data方法中尝试替换。。。你知道吗

   elif self.inside_example_section is True:
       self.translations[-1]['example'] += data.replace('\r', '\n')

   elif self.inside_example_section is True:
       if len(self.translations) >= 1:
            self.translations[-1]['example'] += data.replace('\r', '\n')

相关问题 更多 >