python - 获取包含具有相同名称但不同结尾的文件的元组列表
问题描述
我有一个文件夹,其中包含具有相同文件名的 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)
但是,我怎样才能将该部分与元组列表的生成结合起来,而无需再次遍历文件列表呢?
解决方案
根据您的评论,这应该有效:
files, tuples = list(), list()
for targetFile in os.listdir('Z:/data'):
if re.match('.*\.json|.*\.jpg', targetFile):
files.append(targetFile)
tuples.append((...))
...在省略号中您放置提取文件名并附加结尾的代码的位置。
推荐阅读
- python - 使用索引的数组内的numpy ndarray
- java - 基本身份验证请求应该是 POST 还是 GET?
- python - 创建具有特定预定义元素排序的一维 numpy 数组
- go - 是否所有 Go 函数都返回 err 作为第二个返回值?
- sql - 必须为 spark 中的标量子查询聚合相关标量变量
- java - HHH000342:无法获取到查询元数据的连接:null
- sphinx - 在 Sphinx 搜索中,按排名和字段排序如何相互关联?
- c++ - 使用 g++-8 编译时找不到 boost/asio/io_context.hpp
- jquery - Boostrap 验证:不验证像 .00 这样的十进制值
- javascript - 如何更好地改变固定元素的位置