os.walk()中类'Iterable'的未解析属性引用'next'.next()

时间:2014-02-04 18:33:54

标签: python python-2.7 pycharm iterable

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

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

我在IDE 未解决的属性引用'next'中收到类别'Iterable'的警告

所以,我想知道这是因为IDE(http://youtrack.jetbrains.com/issue/PY-11401)是错误还是我应该对我的代码做些什么。

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

1 个答案:

答案 0 :(得分:4)

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

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

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

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