首页 > 解决方案 > 获取包含具有相同名称但不同结尾的文件的元组列表

问题描述

我有一个文件夹,其中包含具有相同文件名的 json 和 jpeg 文件对。基于这个文件夹,我想创建一个包含对的元组列表,如下所示:

[('first.json','first.jpg'),('second.json','second.jpg')...('last.json','last.jpg')]

只过滤 json 和 jpg 文件很容易:

import os
import re
files = [targetFile for targetFile in os.listdir('Z:/data') if re.match('.*\.json|.*\.jpg', targetFile)]
print(files)

但是,我怎样才能将该部分与元组列表的生成结合起来,而无需再次遍历文件列表呢?

标签: python

解决方案


根据您的评论,这应该有效:

files, tuples = list(), list()
for targetFile in os.listdir('Z:/data'):
    if re.match('.*\.json|.*\.jpg', targetFile):
        files.append(targetFile)
        tuples.append((...))

...在省略号中您放置提取文件名并附加结尾的代码的位置。


推荐阅读