Python 如何根据txt中图片的名字批量提取对应的图片并保存到另一个文件夹

# -*- coding: UTF-8 -*-#!/usr/bin/env pythonimport sysimport refrom PIL import Imagesys.path.append('E:\\CODE')#f1 = open('E:\CODE\TX\dir.txt','r')#f2 = open('E:\CODE\TX\dir.txt','w+')#for l...
摘要由CSDN通过智能技术生成
# -*- coding: UTF-8 -*- 
#!/usr/bin/env python
import sys
import re
from PIL import Image
sys.path.append('E:\\CODE')
#f1 = open('E:\CODE\TX\dir.txt','r')
#f2 = open('E:\CODE\TX\dir.txt','w+')
#for line in f1.readlines():
#    if re.findall(' 1',line): #查找“空格1”的行 每行的格式000005 -1\n 000007
#       f2.write(line)#把查找到的行写入f2.
#f1.close()
#f2.close()
#data = []
import numpy as np

data = []
for line in open("E:/CODE/TX/dir.txt", "r"):  # 设置文件对象并读取每一行文件
    data.append(line)
#print(data)
#f3 = open('E:\CODE\TX\dir.txt','r')
for a in data:
#  print(a)
  #line3=line2[:-4] #读取每行去掉后四位的数#
  im = Image.open('E:/CODE/wu3haomi/segJPEGImages/{}'.format(a[:-1]))#打开改路径下的line3记录的的文件名
  im.save('E:/CODE/wu3haomi/chenxutiqude/{}'.format(a[:-1])) #把文件夹中指定的文件名称的图片另存到该路径下
  im.close()

 

  • 16
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
可以使用Python的文件操作和正则表达式来实现这个功能。 首先,你需要读取txt文档的ID号,可以使用Python的`open()`函数来打开文件,然后使用`readlines()`函数将文件内容按行读取到一个列表。 接着,你需要批量提取文件夹对应ID号的图像,可以使用Python的`os`模块来实现文件夹操作。具体步骤如下: 1. 使用`os.listdir()`函数获取文件夹所有文件的文件名列表。 2. 使用正则表达式匹配每个文件名,提取出文件名的ID号。 3. 判断该ID号是否在读取的txt文档,如果在,则将该文件复制到指定的目录。 下面是一个示例代码,供你参考: ```python import os import re import shutil # 定义txt文件路径、图像文件夹路径、输出文件夹路径 txt_path = "id_list.txt" img_folder = "image_folder" output_folder = "output_folder" # 读取txt文件的ID号列表 with open(txt_path, "r") as f: id_list = [line.strip() for line in f.readlines()] # 遍历图像文件夹的所有文件 for filename in os.listdir(img_folder): # 使用正则表达式匹配文件名的ID号 match = re.search(r"\d+", filename) if match: id = match.group() # 判断该ID号是否在txt文件 if id in id_list: # 如果在,则将该文件复制到输出文件夹 src_path = os.path.join(img_folder, filename) dst_path = os.path.join(output_folder, filename) shutil.copyfile(src_path, dst_path) ``` 以上代码,我们使用了正则表达式`\d+`来匹配文件名的数字部分,然后使用了`shutil.copyfile()`函数来复制文件。你可以根据自己的需求修改文件路径和正则表达式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值