python读取txt文档中的ID号,批量提取文件夹中对应ID号的图像,ID号为图像命名中的_前的第一个字符串
时间: 2024-02-11 16:08:47 浏览: 121
可以使用Python中的文件操作和字符串处理来实现这个功能。
首先,你需要读取txt文档中的ID号,可以使用Python中的`open()`函数来打开文件,然后使用`readlines()`函数将文件内容按行读取到一个列表中。
接着,你需要批量提取出文件夹中对应ID号的图像,可以使用Python中的`os`模块来实现文件夹操作。具体步骤如下:
1. 使用`os.listdir()`函数获取文件夹中所有文件的文件名列表。
2. 对于每个文件名,使用字符串处理方法获取其中的ID号。
3. 判断该ID号是否在读取的txt文档中,如果在,则将该文件复制到指定的目录中。
下面是一个示例代码,供你参考:
```python
import os
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号
id = filename.split("_")[0]
# 判断该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)
```
以上代码中,我们使用了字符串的`split()`方法来提取文件名中的ID号。你可以根据自己的需求修改文件路径和字符串处理方法。
阅读全文