最近要测试OCR功能,图片的命名有点杂乱无章.每次找指定名字的图片非常的不容易,所以写了一个小工具来重名了所有的图片.
我这里就用0001到9999的字符串命名了.
import os
def rename_files(folder_path):
# 获取文件夹中所有文件名
files = os.listdir(folder_path)
num = 1
# 遍历文件夹中的每个文件
for file in files:
# 构造文件的完整路径
file_path = os.path.join(folder_path, file)
# 判断文件是否为文件夹
if os.path.isfile(file_path):
# 使用字符串的replace方法替换文件名
strNum = str(num).zfill(4) + ".bmp"
new_file_name = file.replace(file, strNum)
# 构造新的文件完整路径
new_file_path = os.path.join(folder_path, new_file_name)
# 使用os模块的rename方法重命名文件
os.rename(file_path, new_file_path)
num = num + 1
只要传入需要重命名的文件夹路径就可以了,由于我文件夹下都是bmp的图片格式我这里没做处理,如果文件下有不同的文件,比如jpg或者txt文件,这里需要做后缀匹配.
import os
def rename_files(folder_path):
# 获取文件夹中所有文件名
files = os.listdir(folder_path)
num = 1
# 遍历文件夹中的每个文件
for file in files:
# 构造文件的完整路径
file_path = os.path.join(folder_path, file)
# 判断文件是否为文件夹
if os.path.isfile(file_path):
# 使用字符串的replace方法替换文件名
strNum = str(num).zfill(4) + ".bmp"
new_file_name = file.replace(file, strNum)
# 构造新的文件完整路径
new_file_path = os.path.join(folder_path, new_file_name)
# 使用os模块的rename方法重命名文件
os.rename(file_path, new_file_path)
num = num + 1
def rename_AllFiles():
FilePath = [
"C:\\temp\\MT\\data\\0102\\",
"C:\\temp\\MT\\data\\0103\\",
"C:\\temp\\MT\\data\\0111\\",
"C:\\temp\\MT\\data\\0901\\",
"C:\\temp\\MT\\data\\0907\\",
"C:\\temp\\MT\\data\\0908\\",
"C:\\temp\\MT\\data\\0909\\",
"C:\\temp\\MT\\data\\0910\\",
"C:\\temp\\MT\\data\\0911\\",
"C:\\temp\\MT\\data\\0912\\",
"C:\\temp\\MT\\data\\0913\\",
"C:\\temp\\MT\\data\\1011\\",
"C:\\temp\\MT\\data\\1012\\",
"C:\\temp\\MT\\data\\1013\\",
"C:\\temp\\MT\\data\\1014\\",
"C:\\temp\\MT\\data\\1016\\",
"C:\\temp\\MT\\data\\1113\\",
"C:\\temp\\MT\\data\\1120\\",
"C:\\temp\\MT\\data\\1128\\",
"C:\\temp\\MT\\data\\1204\\",
"C:\\temp\\MT\\data\\1206\\",
"C:\\temp\\MT\\data\\12062\\",
"C:\\temp\\MT\\data\\12141\\",
"C:\\temp\\MT\\data\\FToP\\"
]
for var in FilePath:
rename_files(var)
rename_AllFiles()