python 项目中文件删除、后缀名获取和重命名

文件名后缀和名称截取

文件重命名

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:]
        # 例如 .csv  csv
        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:
            # print('要删除的文件夹是: ',os.path.join(root,name))
            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) # 会删除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))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个小坑货

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值