Python 3.x 从目录列表中读取多个文件

Python 3.x 从目录列表中读取多个文件,python-3.x,Python 3.x,我有一个具有相同结构/相同文件名的目录列表。每个目录下都有不同类型的文件,每个目录都有相同的文件名(文件数量可能不同),但内容不同 parentDIR- - subDir1 - file1.ext1 (contains taskID) - file2.ext2 (contains userID) - file3.ext3 - subDir2 - file1.ext1 (contains taskID) -

我有一个具有相同结构/相同文件名的目录列表。每个目录下都有不同类型的文件,每个目录都有相同的文件名(文件数量可能不同),但内容不同

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(),但不确定如何将它们全部连接在一起



您可以在
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

我使用了稍微不同的方法

types={"*.ext1", "*.ext2"}

for type in types:
    path(dir_name).rglob(type):
        do_something

到目前为止,您自己尝试了什么?谢谢,在我的例子中,ext1、ext2实际上是完全不同的模式,例如abc.xy1、cde.dat.zstetc@tudou您可以根据需要自定义正则表达式