gpt4 book ai didi

python |循环文件对

转载 作者:太空宇宙 更新时间:2023-11-04 00:23:48 25 4
gpt4 key购买 nike

我有大量以下文件名格式的文件对:<int>-<code>.txt在一个目录中。我需要有效地遍历具有相同 <int> 的文件对部分。由于相关文件的数量,我想避免完整列表评估。您可以假设每个文件都保证恰好是一对。

例子

0-A.txt
0-B.txt
1-A.txt
1-B.txt
7-A.txt
7-B.txt

顺序并不重要,重要的是返回匹配的文件。我试过:

import glob
A_files = glob.iglob('*-A.txt')
B_files = glob.iglob('*-B.txt')
for A_file, B_file in zip(A_files, B_files):
pass

但是,glob 没有指定的顺序,所以我没有收到匹配的对。对迭代器进行排序会产生巨大的列表。是否有一种有效的方法来循环匹配的文件对?

最佳答案

如果你知道你总是有一对文件,一个 glob 就是你所需要的:

A_files = glob.iglob('*-A.txt')
file_pairs = ((file_a,file_a.replace("-A.txt","-B.txt")) for file_a in A_files)
for file_A,file_B in file_pairs:
pass

这假设您没有任何 *-B.txt 文件没有 *-A.txt 匹配文件,但是由于您的示例使用 zip() 我假设是这样

关于 python |循环文件对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48147000/

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