os.walk返回一个生成器对象。我究竟做错了什么?

Spa*_*Dev 3 python os.walk

根据文档,os.walk返回在给定路径中具有根,目录和文件的元组。致电时,os.walk我得到以下信息:

>>> import os

>>> os.listdir('.')
['Makefile', 'Pipfile', 'setup.py', '.gitignore', 'README.rst', '.git', 'Pipfile.lock', '.idea', 'src']

>>> root, dir, files = os.walk('src')

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 3)

>>> print (os.walk('src')) generator object walk at 0x10b4ca0f8>
Run Code Online (Sandbox Code Playgroud)

我只是不明白我在做什么错。

Ste*_*ley 5

list如果需要的话,可以将其转换为:

list(os.walk('src'))
Run Code Online (Sandbox Code Playgroud)

生成器的用途还有很多(可能最好是用谷歌“ Python生成器”阅读一下),但是您仍然可以使用for-loop它们:

for dirpath, dirname, filename in os.walk('src'):
    # Do stuff
Run Code Online (Sandbox Code Playgroud)