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模块的介绍:https://www.jb51.net/article/110329.htm
如果想把一个文件从一个文件夹移动到另一个文件夹,并同时重命名,用shutil也很简单:
shutil.move('原文件夹/原文件名','目标文件夹/目标文件名')
4、python 删除非空文件夹
一般删除文件时使用os库,然后利用os.remove(path)即可完成删除,如果删除空文件夹则可使用os.removedirs(path)即可,
但是如果需要删除整个文件夹,且文件夹非空时使用os.removedirs(path)就会报错了,此时可以使用shutil库,该库为python内置库,是一个对文件及文件夹高级操作的库,可以与os库互补完成一些操作,如文件夹的整体复制,移动文件夹,对文件重命名等。
import os import shutil os.remove(path) #删除文件 os.removedirs(path) #删除空文件夹 shutil.rmtree(path) #递归删除文件夹
参考文献:
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
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《暗喻幻想》顺风耳作用介绍
- 崔健1985-梦中的倾诉[再版][WAV+CUE]
- 黄子馨《追星Xin的恋人们2》HQ头版限量编号[WAV+CUE]
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章