【问题标题】:NodeBox error for a verb in pythonpython中动词的NodeBox错误
【发布时间】:2011-07-27 10:24:26
【问题描述】:

我下载了包http://nodebox.net/code/index.php/Linguistics#verb_conjugation 即使我尝试获取动词的时态,我也会遇到错误。

import en
print en.is_verb('use')
#prints TRUE

print en.verb.tense('use')

KeyError                                  Traceback (most recent call last)

/home/cse/version2_tense.py in <module>()
----> 1 
      2 
      3 
      4 
      5 

/home/cse/en/__init__.pyc in tense(self, word)
    124 
    125     def tense(self, word):
--> 126         return verb_lib.verb_tense(word)
    127 
    128     def is_tense(self, word, tense, negated=False):

/home/cse/en/verb/__init__.pyc in verb_tense(v)
    175 
    176     infinitive = verb_infinitive(v)
--> 177     a = verb_tenses[infinitive]
    178     for tense in verb_tenses_keys:
    179         if a[verb_tenses_keys[tense]] == v:

KeyError: ''

【问题讨论】:

    标签: python nodebox


    【解决方案1】:

    您收到此错误的原因是他们用于创建字典的 ~/Library/Application Support/NodeBox/en/verb/verb.txt 文件中存在错误。

    use 是infinitive 形式,但是,“used”作为不定式输入。

    第 5857 行:

    used,,,uses,,using,,,,,used,used,,,,,,,,,,,,

    应该是:

    use,,,uses,,using,,,,,used,used,,,,,,,,,,,,

    编辑并保存文件后:

    import en
    
    print en.is_verb("use")
    print en.verb.infinitive('use')
    print en.verb.tense('use')
    

    给予:

    True
    use
    infinitive
    

    额外:

    import en
    
    print 'use    %s' % en.verb.tense("use")
    print 'uses   %s' % en.verb.tense("uses")
    print 'using  %s' % en.verb.tense('using')
    print 'used   %s' % en.verb.tense('used')
    
    use    infinitive
    uses   3rd singular present
    using  present participle
    used   past
    

    【讨论】:

      猜你喜欢
      • 2011-06-25
      • 2011-06-02
      • 2016-12-04
      • 1970-01-01
      • 2011-09-02
      • 2011-06-24
      • 2012-04-08
      • 2010-09-29
      • 2014-10-01
      相关资源
      最近更新 更多