当我在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
答案 0 :(得分:4)
您的IDE不正确,在Python 2中,迭代器(包括os.walk()
等生成器)确实有.next()
method。
您还可以使用内置的next()
function:
samples_list = next(os.walk(directory))[1]
我怀疑IDE与collections.Iterable
ABC的发生器不匹配,而生成器也是Iterator
s。