gpt4 book ai didi

python - os.walk 和排序以数字开头的文件名

转载 作者:太空宇宙 更新时间:2023-11-04 08:36:05 28 4
gpt4 key购买 nike

我正在尝试遍历我拥有的文件,并希望将每两个文件放在一对中,尤其是每两个文件彼此之间实际上是相关的。

我在我的目录中对文件进行了排序,我使用以下循环遍历目录并读取成对的文件:

for root, dirs, files in os.walk(TRAIN_DIR):
for file1, file2 in itertools.izip_longest(files[::2], files[1::2]):

但是,我收到的文件 1 和文件 2 的顺序不同,而不是像在目录中那样应该紧接在彼此之后的那两个文件。 os.walk 会返回未排序的文件吗?我应该怎么做才能按排序顺序遍历文件?

谢谢。

编辑 1

这就是我运行 files.sort() 的方式:

for root, dirs, files in os.walk(TRAIN_DIR):
files.sort()
for file1, file2 in itertools.izip_longest(files[::2], files[1::2]):

最佳答案

返回文件的顺序取决于底层文件系统。如果您需要按排序顺序遍历文件名,最好自己做:先对 files 排序,然后然后迭代。

for root, dirs, files in os.walk(TRAIN_DIR):
files.sort(key=...) # your predicate
...

关于python - os.walk 和排序以数字开头的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48802110/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com