需求分析
在实际应用中,有时候会遇到需要对文件夹中图像的名称进行重命名的情况,比如只更改图像的文件名而保留图像的原后缀名等,这个时候就需要对图像的后缀部分以及非后缀部分内容分别进行提取。
思路分析
先将文件夹中的图像名以字符串形式读取出来,接下来对图像的整个文件名进行切分,分别截取出后缀部分以及非后缀部分的内容,这里需要用到split()函数。
split()函数
python中的split()函数通过指定分隔符来对字符串进行切片[1]。
代码实现
import os
image_dir = "./cat"
image_list = os.listdir(image_dir) # 列举文件夹中的各图像,以列表形式表示
for i in range(len(image_list)):
file_name = image_list[i].split('.')[0] # 对图像的全名进行切分,截取出中图像不加后缀的文件名
file_name_suffix = image_list[i].split('.')[1] # 截取出图像的后缀名
print("第%d张图像的非后缀名为:%s" % (i+1, file_name)) # 这里用到python的格式化输出
print("第%d张图像的后缀名为:%s" % (i+1, file_name_suffix))
其中cat文件夹中存放了三种图像,名称分别为:
1.jpg
2.jpg
3.jpg
代码的输出内容如下:
第1张图像的非后缀名为:1
第1张图像的后缀名为:jpg
第2张图像的非后缀名为:2
第2张图像的后缀名为:jpg
第3张图像的非后缀名为:3
第3张图像的后缀名为:jpg
Process finished with exit code 0
参考
[1] Python split()方法