首页 文章

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

提问于
浏览
0

根据文档, os.walk 返回给定路径中的根,dirs和文件的元组 . 当我拨打 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>

我只是不明白我做错了什么 .

1 回答

  • 1

    您可以将其转换为 list ,如果这是您想要的:

    list(os.walk('src'))
    

    还有更多的东西用于生成器(可能最好只是google "Python Generators"并阅读它),但你仍然可以 for-loop

    for dirpath, dirname, filename in os.walk('src'):
        # Do stuff
    

相关问题