我在这里有点迷失:
我无法在代码中使用itertools.product
。这是unittest 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)]
我甚至不知道如何调试它。任何帮助都会很好。
谢谢。
答案 0 :(得分:7)
在此调试器中,list
是一个命令。要访问您想要的内置名称,请添加一个exclam:
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)]
这不应该是代码本身的问题,只能在调试器中出现。