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>
我只是不明白我做错了什么。
解决方案
list
如果这是您想要的,您可以将其转换为:
list(os.walk('src'))
还有更多关于生成器的用途(可能最好只是谷歌“Python 生成器”并阅读它),但你仍然可以for-loop
通过它们:
for dirpath, dirname, filename in os.walk('src'):
# Do stuff
推荐阅读
- sql-server - 将验证规则中带有正则表达式的 MS-Access 表迁移到 SQL-Server
- python-3.x - 如何使用 pystemd 控制 systemd 定时 ntp 服务?
- c# - 从 C 到 c# 编组结构和联合
- java - 从 Build 返回一个异步和同步客户端
- android - 房间android中的日期类型转换器
- parsing - 括号如何与自定义数据类型一起使用?
- angular - 如何在 Angular 8 中显示 FormGroup 错误
- python-3.x - 为什么这段代码给出的结果不准确?
- xsl-fo - XSL:FO 只保留第一页的标题
- python - 如何提取文本文件中的特定行