我是靠谱客的博主 傲娇菠萝,这篇文章主要介绍Python清空指定文件夹下所有文件的方法,现在分享给大家,希望可以做个参考。

Python os.remove() 方法

os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。

在Unix, Windows中有效

以下实例演示了 remove() 方法的使用:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目录 print "目录为: %s" %os.listdir(os.getcwd()) # 移除 os.remove("aa.txt") # 移除后列出目录 print "移除后 : %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

复制代码
1
2
3
4
目录为: [ 'a1.txt','aa.txt','resume.doc' ] 移除后 : [ 'a1.txt','resume.doc' ]

Python os.removedirs() 方法

os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。

以下实例演示了 removedirs() 方法的使用:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目录 print "目录为: %s" %os.listdir(os.getcwd()) # 移除 os.removedirs("/test") # 列出移除后的目录 print "移除后目录为:" %os.listdir(os.getcwd())

执行以上程序输出结果为:

复制代码
1
2
3
4
目录为: [ 'a1.txt','resume.doc','a3.py','test' ] 移除后目录为: [ 'a1.txt','resume.doc','a3.py' ]

Python os.rmdir() 方法

os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。

以下实例演示了 rmdir() 方法的使用:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目录 print "目录为: %s"%os.listdir(os.getcwd()) # 删除路径 os.rmdir("mydir") # 列出重命名后的目录 print "目录为: %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

复制代码
1
2
3
4
目录为: [ 'a1.txt','resume.doc','a3.py','mydir' ] 目录为: [ 'a1.txt','resume.doc','a3.py' ]

os.unlink() 方法用于删除文件,如果文件是一个目录则返回一个错误。

以下实例演示了 unlink() 方法的使用:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目录 print "目录为: %s" %os.listdir(os.getcwd()) os.unlink("aa.txt") # 删除后的目录 print "删除后的目录为 : %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

复制代码
1
2
3
4
目录为: [ 'a1.txt','aa.txt','resume.doc'] 删除后的目录为 : [ 'a1.txt','resume.doc' ]

其他的总结

1、remove() 同 unlink() 的功能是一样的

在Windows系统中,删除一个正在使用的文件,将抛出异常。在Unix中,目录表中的记录被删除,但文件的存储还在。

复制代码
1
2
3
4
5
6
7
8
9
10
11
#使用os.unlink()和os.remove()来删除文件 #!/user/local/bin/python2.7 # -*- coding:utf-8 -*- import os my_file = 'D:/text.txt' if os.path.exists(my_file): #删除文件,可使用以下两种方法。 os.remove(my_file) #os.unlink(my_file) else: print 'no such file:%s'%my_file

2、递归删除目录和文件的方法(类似DOS命令DeleteTree): 
复制代码 代码如下:

复制代码
1
2
3
4
5
6
import os for root, dirs, files in os.walk(top, topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name))

3、Python清空指定文件夹下所有文件的方法: 
这个需求很简单:需要在执行某些代码前清空指定的文件夹,如果直接用os.remove(),可能出现因文件夹中文件被占用而无法删除,解决方法也很简单,先强制删除文件夹,再重新建同名文件夹即可:

复制代码
1
2
3
import shutil shutil.rmtree('要清空的文件夹名') os.mkdir('要清空的文件夹名')

注:可参考这里对shutil模块的介绍:http://blog.csdn.net/imzoer/article/details/8733396

如果想把一个文件从一个文件夹移动到另一个文件夹,并同时重命名,用shutil也很简单:

复制代码
1
shutil.move('原文件夹/原文件名','目标文件夹/目标文件名')

参考文献: 
1、https://blog.csdn.net/muwinter/article/details/77196261 2018.5.25 
2、https://blog.csdn.net/qysh123/article/details/51923606 2018.5.25 
3、http://www.runoob.com/python/os-unlink.html 2018.5.25 
4、http://www.runoob.com/python/os-rmdir.html 2018.5.25 
5、http://www.runoob.com/python/os-removedirs.html 2018.5.25 
6、http://www.runoob.com/python/os-remove.html 2018.5.25

 

 

 

 

 

 

 

这个需求很简单:需要在执行某些代码前清空指定的文件夹,如果直接用os.remove(),可能出现因文件夹中文件被占用而无法删除,解决方法也很简单,先强制删除文件夹,再重新建同名文件夹即可:

 

  1. import shutil

  2. shutil.rmtree('要清空的文件夹名')

  3. os.mkdir('要清空的文件夹名')

简单记录一下。

可参考这里对shutil模块的介绍:http://blog.csdn.net/imzoer/article/details/8733396

 

2016年7月21日更新:这里补充一个shutil的应用,如果想把一个文件从一个文件夹移动到另一个文件夹,并同时重命名,用shutil也很简单:

 

复制代码
1
shutil.move('原文件夹/原文件名','目标文件夹/目标文件名')

最后

以上就是傲娇菠萝最近收集整理的关于Python清空指定文件夹下所有文件的方法的全部内容,更多相关Python清空指定文件夹下所有文件内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部