
大家好,又见面了,我是你们的朋友全栈君。
**
** 一个简单的python 脚本,用于图片批量重命名,非常简单但是也非常使用!
使用前记得搭建使用环境,下载相应的包
# -*- coding: utf-8
import os
import os.path
import shutil
from tqdm import tqdm
class Pathroot():
def __init__(self, root, sort_methods):
'''初始化文件路径'''
self.root = root
self.sort_methods = sort_methods
def get_path(self):
''' 输入路径,获取输入路径下所有文件的完整列表,并以字符串排序'''
path1 = []
for parent, dirnames, filenames in os.walk(self.root):
for filename in filenames:
currentPath = os.path.join(parent, filename)
path1.append(currentPath)
if self.sort_methods == 'str':
path1.sort(key=lambda x: str(os.path.basename(x).split('/')[-1][:-4]))
elif self.sort_methods == 'int':
path1.sort(key=lambda x: int(os.path.basename(x).split('/')[-1][:-4]))
else:
print('Please choose correct sort methods!!! str or int')
return path1
def get_newroot(root, root1 ,name):
'''在根目录下创建新的文件,返回新的路径并修改名称'''
new_root = root +'/'+ str(name) + pic_format
return new_root
if __name__ == '__main__':
input_path = input('Please enter the path to the folder : ')
# 在当前文件夹创建新目录
new_root = '/'.join(input_path.split('/')[:-1])+ '/new_data'
os.mkdir(new_root)
# 获取当前目录下所有图片路径
path_root = Pathroot(input_path,'str')
the_total_root = path_root.get_path()
pic_format = the_total_root[0].split('/')[-1][-4:]
print('The number of images under the path : {:^10}' .format(str(len(the_total_root))))
# 重命名且保存在新的目录下
for i in tqdm(range(len(the_total_root))):
new_root_1 = get_newroot(new_root,pic_format,i)
shutil.copy(the_total_root[i] , new_root_1)
print('The program has ended, please check the results!!!')终端运行结果如下:

如果对你有帮助的话,可以为我点个赞!
有什么问题的话,欢迎随时留言,看到必回!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197265.html原文链接:https://javaforall.cn