averainy's Blog

averainy

23 Apr 2025

利用python的os包删除文件和目录

利用python os库实现删除文件和非空目录功能:

def delete_file(path:str):
    if not os.path.exists(path):
        return
    if(os.path.isfile(path)):
        os.remove(path)
        print('delete file {0}'.format(path))
        return
    if is_folder_empty(path):
        os.rmdir(path)
        print(f'delete empty directory: {path}')
        return

    for root, dirs, files in os.walk(path,topdown=False):
        for file in files:
            print('delete file {0}'.format(os.path.join(root, file)))
            os.remove(os.path.join(root, file))
        for sub_dir in dirs:
            if is_folder_empty(os.path.join(root, sub_dir)):
                os.rmdir(os.path.join(root, sub_dir))
                print(f'delete empty directory: {os.path.join(root, sub_dir)}')
                continue

Categories