我有一个目录列表(它们的绝对路径)。每个目录包含一定数量的文件。在这些文件中,我想从每个目录中获取其中两个。我想要的两个文件在它们的名称中有一些字符串模式,为了这个例子,字符串将是'stringA','stringB'。
所以我需要的是一个元组列表。每个元组应该有一个 stringA
文件和一个 stringB
文件。每个目录应该有一个元组。每个目录保证有2个以上的文件,并且保证只有一个stringA
和一个stringB
文件。
最有效的方法是什么?也许使用列表生成器?
编辑:
一个例子:
dirs = ['/dir1', '/dir2', '/dir3']
result = [('/dir1/stringA.txt', '/dir1/stringB.txt'), ('/dir2/stringA.txt', ...) ...]
输入是目录(目录列表),输出应该是结果(元组列表)。
最佳答案
看看这是否适合你:
import glob
result = zip(sorted(glob.glob('/dir/*stringA*')), sorted(glob.glob('/dir/*stringB*')))
关于python - 如何从 Python 中的目录中获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454121/