python 删除文件、清空目录的方法总结
大家好,又见面了,我是你们的朋友全栈君。
Python os.remove() 方法
os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。
在Unix, Windows中有效
以下实例演示了 remove() 方法的使用:
#!/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())
执行以上程序输出结果为:
目录为:
[ 'a1.txt','aa.txt','resume.doc' ]
移除后 :
[ 'a1.txt','resume.doc' ]
Python os.removedirs() 方法
os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。
以下实例演示了 removedirs() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, sys
# 列出目录
print "目录为: %s" %os.listdir(os.getcwd())
# 移除
os.removedirs("/test")
# 列出移除后的目录
print "移除后目录为:" %os.listdir(os.getcwd())
执行以上程序输出结果为:
目录为:
[ 'a1.txt','resume.doc','a3.py','test' ]
移除后目录为:
[ 'a1.txt','resume.doc','a3.py' ]
Python os.rmdir() 方法
os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。
以下实例演示了 rmdir() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, sys
# 列出目录
print "目录为: %s"%os.listdir(os.getcwd())
# 删除路径
os.rmdir("mydir")
# 列出重命名后的目录
print "目录为: %s" %os.listdir(os.getcwd())
执行以上程序输出结果为:
目录为:
[ 'a1.txt','resume.doc','a3.py','mydir' ]
目录为:
[ 'a1.txt','resume.doc','a3.py' ]
Python os.unlink() 方法
os.unlink() 方法用于删除文件,如果文件是一个目录则返回一个错误。
以下实例演示了 unlink() 方法的使用:
#!/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())
执行以上程序输出结果为:
目录为:
[ 'a1.txt','aa.txt','resume.doc']
删除后的目录为 :
[ 'a1.txt','resume.doc' ]
其他的总结
1、remove() 同 unlink() 的功能是一样的
在Windows系统中,删除一个正在使用的文件,将抛出异常。在Unix中,目录表中的记录被删除,但文件的存储还在。
#使用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): 复制代码 代码如下:
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(),可能出现因文件夹中文件被占用而无法删除,解决方法也很简单,先强制删除文件夹,再重新建同名文件夹即可:
import shutil
shutil.rmtree('要清空的文件夹名')
os.mkdir('要清空的文件夹名')
注:可参考这里对shutil模块的介绍:http://blog.csdn.net/imzoer/article/details/8733396
如果想把一个文件从一个文件夹移动到另一个文件夹,并同时重命名,用shutil也很简单:
shutil.move('原文件夹/原文件名','目标文件夹/目标文件名')
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139116.html原文链接:https://javaforall.cn
相关文章
- python中矩阵的转置怎么写_Python 矩阵转置的几种方法小结
- python整除和取余写法_Python的整除和取余[通俗易懂]
- python解压bz2文件命令,在Python中解压缩.bz2文件
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法[通俗易懂]
- python打开h5文件可视化_python环境变量的配置
- Python保存json_python保存json文件
- python读取excel文件显示文件不存在?_python怎么读取excel
- python读取csv文件,将文件中第一列显示出来
- Python File(文件) 方法
- python文件操作:r、w、a、r+、w+、a+和b模式
- Python 判断文件是否存在的三种方法详解编程语言
- Linux中运行Python文件的步骤(linux运行python文件)
- Linux下的Python开发技术之旅(linux下python开发)
- 用python分割TXT文件成4K的TXT文件
- python中定义结构体的方法
- python逐行读取文件内容的三种方法
- 使用python的chardet库获得文件编码并修改编码