遍历文件夹,每 2 个文件夹执行一个函数

iterating over folders executing a fuction at each 2 folders

我有一个名为 plot_ih_il 的函数,它接收两个数据帧以生成绘图。我还有一组文件夹,每个文件夹都包含一个 .h5 文件,其中包含我需要提供给函数的数据 plot_ih_il...我试图一次为函数提​​供两个数据集,但没有成功。

我一直在使用 pathlib 这样做

path = Path("files")

 for log in path.glob("log*"):
     for file in log.glob("log*.h5"):
       df = pd.DataFrame(file, key = "log")

但是使用这个循环,我一次只能提供一个数据帧,我需要两个。

文件夹的结构类似于,

files->log1-> log1.h5
       log2-> log2.h5
       log3-> log3.h5
       log4-> log4.h5

我想为函数 plot_il_ih 提供以下序列,

plot_il_ih(dataframeof_log1.h5, dataframeof_log2.h5) then
plot_il_ih(dataframeof_log2.h5, dataframeof_log3.h5) and so on.

我试过使用 zip

def pairwise(iterable):
    
    a = iter(iterable)
    return zip(a, a)

for l1, l2 in pairwise(list(path.glob('log*'))):
    plot_il_ih(l1, l2)

但并没有前进,只是打开了2个第一

我的逻辑有什么问题?

考虑这样的事情。您可能需要尝试使用索引

filelist = list(path.glob('log*'))
for i in range(1, len(filelist)):
    print(filelist[i-1])
    print(filelist[i])
    print('\n')