我确信这已经在其他地方解释过,但我找不到任何对我来说完全有意义的东西。
我正在尝试在 python 中使用 os.walk() 函数,它返回一个 3 元组。我现在了解如何正确使用它(对于 os.walk() 中的 x、y、z),但我仍然对 3 元组的内部结构感到困惑。理解这一点可能不是完全必要的,但请为了我自己的理智而取笑我。
根据 os.walk 的文档,三元组响应的形式是(根目录名、子目录列表、文件列表)。但是,这仅描述了单个目录的数据,而不是子目录的数据。
我的问题是,如果整个对象的形式实际上是: A) 3 项元组列表 (root1,subdirs1,files1), (root2, subdirs2, files2), ...
或者
B) 3 个不同列表 ((root1,root2), (subdirs1, subdirs2), (files1, files2)) 的元组,其中仅通过元组魔术,所有 1 关联在一起,所有 2 关联在一起.
谢谢您的帮助
编辑: 感谢 Peter DeGlopper 关于生成器对象的提示。
产生最初的问题是因为我假设 os.walk() 返回了一个 3 元组列表,但实际上它在循环的每次迭代中动态生成一个 3 元组。