我有点迷失在这里:
我不能在代码中使用itertools.product
。这是单元测试setUp
方法中的一个断点:
ipdb> import itertools
ipdb> itertools
<module 'itertools' (built-in)>
ipdb> itertools.product
<class 'itertools.product'>
ipdb> list(itertools.product([2,7], [1,4]))
*** Error in argument: '(itertools.product([2,7], [1,4]))'
我很确定我没有对模块本身做任何奇怪的事情,因为这是在我的代码库中(没有未注释的更改(:
$ git grep itertools
simple_wbd/climate.py:import itertools
如果我在Ipython解释器中尝试这个,它会很好地工作。
In [1]: import itertools
In [2]: list(itertools.product([2,7], [1,4]))
Out[2]: [(2, 1), (2, 4), (7, 1), (7, 4)]
我甚至不知道如何调试它。任何帮助都会很好。
谢谢。
在这个调试器中,list
是一个命令。要访问您想要的内置名称,请在前面加一个感叹号:
ipdb> list(itertools.product([2,7], [1,4])
*** Error in argument: '(itertools.product([2,7], [1,4])'
ipdb> !list(itertools.product([2,7], [1,4]))
[(2, 1), (2, 4), (7, 1), (7, 4)]
这不应该是代码本身的问题,而应该是调试器内部的问题。