文件名后缀和名称截取
文件重命名
def file_rename(oldfilename,newfilename):
"""
@Description: 文件重命名
"""
os.rename(oldfilename,newfilename)
获取文件后缀名
def get_file_extension(filename:str):
"""
@Description: 获取文件扩展名
:param filename 文件名
:return 第一个返回值带. 第二个返回值不带.
"""
file_extension = os.path.splitext(filename)[-1]
if file_extension.startswith('.'):
file_extension_name = file_extension[1:]
return file_extension,file_extension_name
return file_extension
获取文件名
def get_filename(filename:str):
"""
@Description: 从路径中获取文件名字
:param filename 文件路径名
"""
full_filename = os.path.basename(filename)
return os.path.splitext(full_filename)[0]
获取文件路径
def get_filename_dir(filename:str):
"""
@Description: 获取filename中路径
:param filename 文件路径名字
"""
return os.path.dirname(filename)
文件删除
删除文件
def delete_file(filepath:str):
"""
@Description: 删除文件
"""
if os.path.exists(filepath):
os.remove(filepath)
print('文件删除成功,删除的文件路径为: ',filepath)
else:
print('文件不存在,请检查路径:',filepath)
删除空的文件夹
def delete_empty_dir(dir_path:str):
"""
@Description: 删除空的文件夹
:param dir_path 文件夹
"""
if os.path.exists(dir_path) and os.path.isdir(dir_path):
os.rmdir(dir_path)
print('文件夹删除成功,删除的文件夹路径为: ',dir_path)
else:
print('文件夹不存在,请检查路径: ',dir_path)
删除多个空文件夹
def delete_empty_dirs(dir_path:str):
"""
@Description: 删除空的文件夹
:param dir_path 文件夹
"""
for root, dirs, files in os.walk(dir_path, topdown=False):
for name in dirs:
delete_empty_dir(os.path.join(root, name))
删除文件和文件夹(包括根目录)
def delete_dir_include_root(dir_path:str):
"""
@Description: 删除临时文件和文件夹,会删除根目录dir_path
:param dir_path 需要删除文件夹路径
"""
shutil.rmtree(dir_path)
删除文件和文件夹(不包括根目录)
def delete_dir_not_include_root(dir_path:str):
"""
@Description: 删除子目录和子文件,不包含根目录
:param dir_path 需要删除的文件夹路径
"""
for root,dirs,files in os.walk(dir_path,topdown=False):
for name in files:
delete_file(os.path.join(root,name))
for name in dirs:
delete_empty_dir(os.path.join(root,name))
|