PreffixAndSuffix 类:
import os
class PreffixAndSuffix:
def __init__(self):
pass
@staticmethod
def add_preffix(file_path, preffix): # 为file_path添加preffix前缀 并返回文件名绝对路径
dir_name, filename, extension = PreffixAndSuffix.get_names(file_path)
new_name = dir_name + preffix + filename + extension
os.rename(file_path, new_name)
return new_name
@staticmethod
def del_preffix(file_path, preffix): # 为file_path删除preffix前缀 并返回文件名绝对路径
dir_name, filename, extension = PreffixAndSuffix.get_names(file_path)
if filename.startswith(preffix): # 判断文件名是否以preffix开头
filename = filename.partition(preffix)[2] # ('', preffix, 去掉前缀文件名)[2]
new_name = dir_name + filename + extension
os.rename(file_path, new_name)
return new_name
else:
return file_path
@staticmethod
def add_suffix(file_path, suffix): # 为file_path添加preffix后缀 并返回文件名绝对路径
dir_name, filename, extension = PreffixAndSuffix.get_names(file_path)
new_name = dir_name + filename + suffix + extension
os.rename(file_path, new_name)
return new_name
@staticmethod
def del_suffix(file_path, suffix): # 为file_path删除preffix后缀 并返回文件名绝对路径
dir_name, filename, extension = PreffixAndSuffix.get_names(file_path)
if filename.endswith(suffix): # 判断文件名是否以preffix开头
filename = filename.rpartition(suffix)[0] # (文件名, suffix, 扩展名)[0]
new_name = dir_name + filename + extension
os.rename(file_path, new_name)
return new_name
else:
return file_path
@staticmethod
def get_names(file_path):
file_path = os.path.abspath(file_path) # 获取这个文件/文件夹的绝对路径
dir_name = os.path.dirname(file_path) # 获取所在目录
dir_name = dir_name + os.sep # 为拼接做准备
filename, extension = os.path.splitext(file_path) #: 分离文件名与扩展名结果为(filename,扩展名) 如果参数为一个路径则返回(路径,'')
name = filename.rpartition(os.sep)[2] # (文件目录名 ,目录分隔符, 文件名/目录名)
names = (dir_name, name, extension) #(文件所在目录名, 文件名, 文件扩展名)
# print(names)
return names
import os
class Pref