我一直在使用os.walk()遍历目录dir中的一系列子目录。这些子目录的编号从0001到0899。我假设os.walk(dir)按数字顺序遍历这些子目录,即它们在查找器中显示的顺序(我在Mac上),到目前为止,我没有理由相信这不是真的。
然而,几天前我注意到了一些奇怪的事情:os.walk()突然(?)以非数字方式遍历文件夹(但我认为总是以相同的顺序)。我相当确定这不是以前的情况-我会注意到的。
我知道我可以使用sorted(os.walk(dir))对子目录进行数字处理,但这不能回答我的问题。os.walk()的行为是如何改变的呢?这会不会与同时升级Python有关(我不认为我做到了--能以某种方式检查这一点吗)?
编辑:我突然想到,我同时从OS Sierra更新到了OS Sierra High。也许这就是答案所在?
发布于 2018-01-23 06:25:53
我将回答自己的问题:事实证明,是我将dir及其完整内容移动到磁盘上的不同位置,从而为它们提供了不同的地址,从而导致了不同的排序。
https://stackoverflow.com/questions/48379797
复制相似问题