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

sil*_*ent 4 python iterable pycharm python-2.7

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

directory = '/home/user/dir'
samples_list = os.walk(directory).next()[1]
Run Code Online (Sandbox Code Playgroud)

我在 IDE Unresolved 属性引用 'next' 中收到警告,用于类 'Iterable'

所以,我想知道这是否是由于 IDE ( http://youtrack.jetbrains.com/issue/PY-11401 )而导致的错误,或者我应该对我的代码做些什么。

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

Mar*_*ers 6

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

您还可以使用内置next() 函数

samples_list = next(os.walk(directory))[1]
Run Code Online (Sandbox Code Playgroud)

我怀疑 IDE 将生成器与collections.IterableABC不匹配,而生成器也是Iterators