我是靠谱客的博主 害怕老师,这篇文章主要介绍【Python】1.python 删除文件夹和文件1 os+shutil 模块 2 删除失败场景处理,现在分享给大家,希望可以做个参考。

目录

1 os+shutil 模块 

1.1 删除文件夹

1.2 删除文件夹以及文件

1.3 删除文件下所有内容

1.4 python3相关方法

1.4.2 os.remove

2 删除失败场景处理

2.1 权限问题


1 os+shutil 模块 

python删除文件和文件夹主要用到os模块和shutil模块,针对文件夹和文件的删除,有几种情况,直接上代码

1.1 删除文件夹

删除一个文件夹,无论里面是否有文件或文件夹

复制代码
1
2
3
4
# # (不支持文件,文件夹不存在会报错) def del_files0(dir_path): shutil.rmtree(dir_path)

1.2 删除文件夹以及文件

递归删除dir_path目标文件夹下所有文件,以及各级子文件夹下文件,保留各级空文件夹

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# # (支持文件,文件夹不存在不报错) def del_files(dir_path): if os.path.isfile(dir_path): try: os.remove(dir_path) # 这个可以删除单个文件,不能删除文件夹 except BaseException as e: print(e) elif os.path.isdir(dir_path): file_lis = os.listdir(dir_path) for file_name in file_lis: # if file_name != 'wibot.log': tf = os.path.join(dir_path, file_name) del_files(tf) print('ok')

1.3 删除文件下所有内容

删除dir_path目标文件夹下所有内容,保留dir_path文件夹

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# # (不支持文件,文件夹不存在会报错) def del_files2(dir_path): # os.walk会得到dir_path下各个后代文件夹和其中的文件的三元组列表,顺序自内而外排列, # 如 log下有111文件夹,111下有222文件夹:[('D:\log\111\222', [], ['22.py']), ('D:\log\111', ['222'], ['11.py']), ('D:\log', ['111'], ['00.py'])] for root, dirs, files in os.walk(dir_path, topdown=False): print(root) # 各级文件夹绝对路径 print(dirs) # root下一级文件夹名称列表,如 ['文件夹1','文件夹2'] print(files) # root下文件名列表,如 ['文件1','文件2'] # 第一步:删除文件 for name in files: os.remove(os.path.join(root, name)) # 删除文件 # 第二步:删除空文件夹 for name in dirs: os.rmdir(os.path.join(root, name)) # 删除一个空目录

1.4 python3相关方法

复制代码
1
2
3
4
import os os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除 os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除 os.unlink('F:新建文本文档.txt') # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。

1.4.2 os.remove

复制代码
1
2
3
4
5
6
7
8
import os path = 'F:/新建文本文档.txt' # 文件路径 if os.path.exists(path): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove(path) #os.unlink(path) else: print('no such file:%s'%my_file) # 则返回文件不存在

总之,删除的具体实现,要根据项目具体要求去实现。

2 删除失败场景处理

2.1 权限问题

如果删除失败,报错显示没有权限,则需要去增加权限

如果对你真的有帮助,点个赞呀~

最后

以上就是害怕老师最近收集整理的关于【Python】1.python 删除文件夹和文件1 os+shutil 模块 2 删除失败场景处理的全部内容,更多相关【Python】1.python内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(91)

评论列表共有 0 条评论

立即
投稿
返回
顶部