循环遍历文件目录,并对它们执行操作

时间:2017-07-13 20:27:43

标签: python-2.7 for-loop

我的循环工作:

for indice, file_path in enumerate(all_current_files):
    print("indice {} filepath {} indice+1 {}".format(indice, file_path, indice + 1))

输出:

indice 0 filepath /path/here/img.jpg indice+1: 1

我想使用当前的for()循环,并为每个文件比较 indice1的路径indice2' s路径(下一个)。

例如:

1 my/path/img.jpg
2 my/path/img.jpg

我想包括一些比较。

我无法制定如何做到这一点。

2 个答案:

答案 0 :(得分:0)

嗯,这是一种方法。我确定还有很多其他人。

prevpath = None
for indice, path in enumerate(path_list):
    if prevpath is not None:
        print("prevpath={}, path={}".format(prevpath, element))
        # do compare here
    prevpath = element

答案 1 :(得分:0)

for i, (currentpath, prevpath) in enumerate(zip(all_current_files[1:], all_current_files[:-1])):
    print("i={} previous='{}'  current='{}'".format(i, prevpath, currentpath))

在上面的代码中,i是"当前"的索引。路径。如果您需要从1开始,只需设置start函数的enumerate参数。

如果要获取当前路径和上一个路径的索引,请执行以下操作:

for (i, currentpath), (j, prevpath) in zip(enumerate(all_current_files[1:], 1), enumerate(all_current_files[:-1])):
    print("i={} previous='{}'   j={} current='{}'".format(i, prevpath, j, currentpath))

用你需要完成的任何计算替换循环中的print