首先,看看我们的printlist模块。
def printlist(move):
for each_item inmove:
if isinstance(each_item,list):
printlist(each_item)
else:
print each_item
if__name__ == '__main__':
move = ['大话西游 ',['鹿鼎记1','鹿鼎记2'],[['黄飞鸿1'],['黄飞鸿2']] ]
printlist(move)
相应的,我们应该如何去测试呢?
这个时候, 在test目录下写个test.py
from nose.tools import *
from project.printlist import printlist
def test():
move = ['日本‘,’中国‘]
assert_equal[printlist(move),[‘日本’,‘中国’]
运行:nosetests
显示错误, importError, 显示printlist未导入,
于是想到用
touch __init__.py
ok
.
----------------------------------------------------------------------
Ran 1 test in 0.004
成功了,想到修改一下test下的代码
assert_equal[printlist(move),[‘日本’,‘中国,‘韩国’]
SyntaxWarning: assertion is always true, perhaps remove parentheses?
assert (printlist(move),['中国','日本','韩国'])
ok , 弄懂了,但是为什么系列1的__init__.py没有体现呢。?
还有一个疑问, 在v2ex问了。
大概预计一个小时看完,到现在还没完成50%,这种暗时间真可怕。
大致看了一下,https://gitorious.org/python-modargs/
有了一个大致的判断,
上级目录下的环境 ,
如:NAME. import 你可以看作调用NAME.
如果调用name/ hi.py
则是 from name import hi
如: 上级目录下的文件,则是
form project.printlist import *
算是结束了。
网友评论