我有一个具有相同结构/相同文件名的目录列表。在每个文件下都有不同类型的文件,每个目录具有相同的文件名(文件数可能有所不同),但内容不同。
parentDIR-
- subDir1
- file1.ext1 (contains taskID)
- file2.ext2 (contains userID)
- file3.ext3
- subDir2
- file1.ext1 (contains taskID)
- file2.ext2 (contains userID)
- file3.ext3
- subDir100
如何搜索所有目录并从file1 / file2中成对提取taskID和userID?我需要正确打开/关闭同一目录中的file1 / file2并读取内容,因为它们具有一些共享的信息。
我正在考虑使用
glob,xxxx为ExitStack(),但不确定如何将它们连接在一起
答案 0 :(得分:1)
您可以在glob
中使用正则表达式
In [1]: import glob
...: for x in glob.glob('parent/**/*.ext[1|2]', recursive=True):
...: # Open, read content close here
...: print(x)
...:
parent/subdir2/file1.ext1
parent/subdir2/file2.ext2
parent/subdir1/file1.ext1
parent/subdir1/file2.ext2
答案 1 :(得分:0)
我使用了稍微不同的方法
types={"*.ext1", "*.ext2"}
for type in types:
path(dir_name).rglob(type):
do_something