python-os.walk().next()中类“ Iterable”的未解析属性引用“ next”

当我在PyCharm IDE 3.0.2社区版(Python 2.7.x)中键入类似内容时:

directory = '/home/user/dir'
samples_list = os.walk(directory).next()[1]

我在类“ Iterable”的IDE未解析属性引用“ next”中得到警告.

因此,我想知道这是由于IDE(http://youtrack.jetbrains.com/issue/PY-11401)导致的错误,还是我应该对我的代码进行处理.

UPD1:不幸的是,这是Pycharm PY-12017中的错误

解决方法:

您的IDE不正确,在Python 2迭代器(包括os.walk()之类的生成器)中确实有一个.next() method.

您还可以使用内置的next() function

samples_list = next(os.walk(directory))[1]

我怀疑IDE与collections.Iterable ABC的生成器不匹配,而生成器也为Iterators.

上一篇:javascript-如何使用promise对对象数组的每个元素进行ajax调用?


下一篇:关于Python中的迭代器和可迭代项的困惑