output - python中os.walk()的返回值是什么?
问题描述
我有一个这样的目录结构:
dir/
└── subdir
我的代码:
import os
for d in os.walk('dir'):
print(d)
我得到输出:
('dir', ['subdir'], [])
('dir/subdir', [], [])
我的问题是那些尾随的 [ ] 是什么?
第一个元组中有 1,第二个元组中有 2.. 它让我感到困惑。
解决方案
值得查看 Python 文档以了解此类问题,因为它们往往具有非常可靠的文档:https ://docs.python.org/2/library/os.html#os.walk
通过自上而下或自下而上遍历树,在目录树中生成文件名。对于以目录top为根的树中的每个目录(包括top本身),它会产生一个 3-tuple
(dirpath, dirnames, filenames)
。
所以它总是会返回一个三元组。
对于您的第一个目录“dir”,它包含一个名为“subdir”的目录,并且它不包含任何文件,因此文件名是一个空列表。
然后它有另一个子目录条目,即您的“目录/子目录”。'subdir' 下没有任何目录或文件,因此目录名和文件名都有空列表。关键是它总是返回一个三元组,最后两个元素总是列表,所以没有子目录或文件,它会返回空列表。
推荐阅读
- wpf - WPF Material Design ListView 问题
- docker - openshift上的jhipster:无法访问jarfile
- angular - Angular6 不通过 API 调用预填充数据
- python - pandas to_csv ,唯一记录数减少
- java - Drools 可以在没有任何关联 POJO 类的情况下拥有 Drl 文件吗?
- javascript - 为什么数组可以在记录后_排序?
- c# - RetryWhen 和异常逻辑
- c# - 如何在 Visiblity.Collapsed 上运行 UWP FrameworkElement SizeChanged 方法?
- sirishortcuts - 将 ISO 8601 日期+时间字符串转换为日期
- html - Safari 上的动画播放状态不正确