如何解决模块 * 没有属性 * 使用鼻子测试
我完成了“Python Learn Hard Way”一书中的任务。它是关于使用带有 nose
的测试。
我在 scan_net
文件中有 lexicon.py
函数:
def scan_net(sentence):
direction = ['north','south','east','west']
verb = ['go','kill','eat','breath']
stop_words = ['the','in','off']
nouns = ['bear','princess','frog']
words = sentence.split()
result = []
for i in range(len(words)):
if words[i] in direction:
result.append(('direction',words[i]))
elif words[i] in verb:
result.append(('verb',words[i]))
elif words[i] in stop_words:
result.append(('stop_words',words[i]))
elif words[i] in nouns:
result.append(('nouns',words[i]))
#check for number and if it is go out of the loop using continue
try:
if(int(words[i])):
result.append(('number',words[i]))
continue
except ValueError:
pass
else:
result.append(('error',words[i]))
return result
这是我的测试文件:
from nose.tools import *
import lexicon
def test_directions():
result = lexicon.scan_net("north south east")
assert_equal(result,[('direction','north'),('direction','south'),'east')])
在我运行 nosetests tests\lexicon_tests.py
命令后,我得到
AttributeError:module 'lexicon' has no attribute 'scan_net'
。
我的导入有什么问题?为什么它没有看到函数 scan_net
?
解决方法
您的路径中可能有一个名为 lexicon
的文件夹,该文件夹是首选文件夹,应该重命名其中一个文件夹以使其更清楚应该导入哪个文件夹。
您应该仍然可以使用 from lexicon import scan_net
导入,但通常使用不同的名称会让您的生活更轻松。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。