读取在我的文件系统中排序的文件

时间:2018-02-15 08:27:56

标签: python file loops for-loop operating-system

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

我的文件在我的目录中排序,我使用以下内容遍历目录并读取文件对:

app.factory('a', function() { })

app.service('b', function() { })

但是,我以不同的顺序接收file1和file2,而不是像目录中那样紧接着的那两个文件。 os.walk然后返回未分类的文件吗?我应该怎么做才能按排序顺序浏览文件?

这就是我的前四个文件在我的系统中列出的方式:

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

我如何按顺序阅读它们?

感谢。

2 个答案:

答案 0 :(得分:1)

as here os.walk iterates in what order?传递数据库值,可以在第二个循环之前添加sort()方法:

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

答案 1 :(得分:0)

os.walk不会以任何顺序生成文件,因为文件没有订单。您(或您的操作系统)通过根据某些特性安排它们来给予订单:按名称,按创建日期,通过拥有用户,...

如果要访问按某些属性排序的文件,请先将它们检索到列表中,对该列表进行排序,然后继续处理。