pytorch 如何统一更改图片名
时间: 2023-06-29 12:05:52 浏览: 95
python批量更改图片名的方法
5星 · 资源好评率100%
要统一更改图片名,可以使用Python的os模块和shutil模块,以及PyTorch的torchvision库中的ImageFolder类。
首先,使用os模块列出所有图片的路径,并使用os.path.splitext()方法获取每个文件的扩展名。然后,使用shutil模块的move()方法将文件移动到新的路径和新的文件名。
下面是一个示例代码,假设你想将所有图片文件的扩展名从".jpg"更改为".png":
``` python
import os
import shutil
from torchvision.datasets import ImageFolder
# 原始图片文件夹路径
data_path = "/path/to/data"
# 创建新的文件夹用于存储更改后的图片
new_data_path = "/path/to/new_data"
if not os.path.exists(new_data_path):
os.makedirs(new_data_path)
# 使用ImageFolder类加载图片数据集
dataset = ImageFolder(data_path)
# 遍历数据集中的每个图片文件
for img_path, _ in dataset.imgs:
# 获取文件名和扩展名
filename, ext = os.path.splitext(os.path.basename(img_path))
# 将扩展名从".jpg"更改为".png"
new_filename = filename + ".png"
# 构造新的文件路径和文件名
new_img_path = os.path.join(new_data_path, new_filename)
# 移动文件到新的路径和新的文件名
shutil.move(img_path, new_img_path)
print("Done!")
```
注意,在上述代码中,我们使用了torchvision库中的ImageFolder类来加载图片数据集,因为它可以自动识别文件夹中的子文件夹和标签,并返回一个元组列表,其中每个元组表示一个图片文件的路径和标签。如果你的图片没有标签,可以使用os模块的os.listdir()方法来获取文件夹中的所有文件,并遍历它们进行更改。
阅读全文