我试图遍历我拥有的文件,并希望将每两个文件放在一对中,尤其是每两个文件之后实际上是相关的。
我的文件在我的目录中排序,我使用以下内容遍历目录并读取文件对:
for root, dirs, files in os.walk(TRAIN_DIR):
for file1, file2 in itertools.izip_longest(files[::2], files[1::2]):
但是,我以不同的顺序接收file1和file2,而不是像目录中那样紧接着的那两个文件。 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]):
答案 0 :(得分:5)
返回文件的顺序取决于基础文件系统。如果您需要按排序顺序迭代文件名,最好自己完成:首先排序files
,然后然后迭代。
for root, dirs, files in os.walk(TRAIN_DIR):
files.sort(key=...) # your predicate
...