os.walk()的奇怪行为

时间:2018-01-22 10:48:01

标签: python-3.x sorting directory

我一直在使用os.walk()遍历目录dir中的一堆子目录。这些子目录的编号从0001到0899.我假设os.walk(dir)按数字顺序遍历这些子目录,即,它们在查找器中显示(我在Mac上),到目前为止我没有理由相信这不是真的。

然而,几天前我注意到一些奇怪的事情:os.walk()突然(?)以非数字方式遍历文件夹(但我认为总是以相同的顺序)。我很确定以前不是这种情况 - 我会注意到的。

我知道我可以使用sorted(os.walk(dir))以数字方式处理子目录,但这不能回答我的问题。 os.walk()的行为有可能发生变化吗?它可能与此同时升级Python有关(我不认为我做过 - 可以用某种方式检查)吗?

编辑:我发现在此期间我从OS Sierra更新到OS Sierra High。也许这就是答案所在?

1 个答案:

答案 0 :(得分:0)

我将回答我自己的问题:事实证明,我将dir及其完整内容移动到我磁盘上的不同位置,从而为它们提供了不同的地址,这导致了不同的排序