python 删除文件、清空目录的方法总结

python 删除文件、清空目录的方法总结Pythonos.remove()方法os.remove()方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。在Unix,Windows中有效以下实例演示了remove()方法的使用:#!/usr/bin/python#-*-coding:UTF-8-*-importos,sys#列出目录print”目录为:%s”%os…

大家好,又见面了,我是你们的朋友全栈君。

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.net/139116.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java是前端还是后端 对于java来讲那个以后发展的会更好

    java是前端还是后端 对于java来讲那个以后发展的会更好Java和前端很多的初学者都不知道该怎么去选择。本来对于java区分前端还是后端这个问题问的其实并没有什么技术含量,java本身来讲涉及的后端的知识要远远多于前端,当然java也有前端的知识javaweb就是啦,但是个人感觉如果你想学习java还是后端更好。第一后端就像一棵大树,你沿着一根树枝,可以慢慢地了解整个企业应用开发技术这个大树,而你的技术水平会越来越深入。第二前端一直以来就是界面,技术深度不够,随着你经验的丰富,你的技术水平会越来越熟练。所以前端和后端在技术上的区别就是一个趋向熟练,一个趋

    2022年7月8日
    18
  • GiD学习笔记「建议收藏」

    GiD学习笔记「建议收藏」GiD软件初步使用时,与一般传统的三维软件,思维方式很难一下子转变过来。它的最基本结构是几何结构,创建模型从点到线,线到面,面到体的顺序。网格面与几何体有截然不同的意义,所以在使用初期,需要先搞清楚一些基本概念。

    2025年6月8日
    2
  • pycharm导入库变灰色_import python

    pycharm导入库变灰色_import pythonpycharm中import导入包呈现灰色问题之解决!问题描述:pycharm中单个py文件导入包时呈灰色,而别的文件却能正常显示,我按照CSDN博客上给的设置①右键点击项目,找下面的MarkDirectoryas选择SourceRoot”以及②点击File-InvalidteCaches/Restart…重启两种方法均不起作用,无法解决问题。我的解决方法:将鼠标移动到那行…

    2022年8月27日
    3
  • Java贪吃蛇全代码

    Java贪吃蛇全代码用Java编写精典小游戏——贪吃蛇!前言  我想贪吃蛇应该是不少90后和00后的童年(我本人是01年的),回想起从前偷偷拿着我爹的诺基亚在被窝里玩贪吃蛇,不禁感慨万分,时间飞逝,没想到10年后的我也可以自己做一个贪吃蛇了。    该程序主要实现了以下功能:  1.按空格开始游戏、暂停游戏或重新开始游戏。  2.方向键控制蛇移动的方向。  3.蛇吃掉食物可以增长,并增加游戏分数(不会加快游戏速度)。  4.蛇咬到自己会结束游戏。  5.蛇撞到游戏区域外会结束游戏。    接下来放

    2022年6月26日
    35
  • 雅虎优化最佳实践

    雅虎优化最佳实践毕竟对于前端来说,优化是躲不开的主题。在看200(cache)和304区别的时候,翻到了雅虎这边归纳出来的准则,虽然是十多年前的东西了吧,但是还是具有参考价值的,因此在原文基础上我进行了一些归纳翻译。原文地址:https://developer.yahoo.com/performance/rules.html减少初始访问的请求数,多使用缓存尽量减少使用的组件种类,因为页面会花很多时间下载组件们。尽…

    2022年7月13日
    28
  • BigDecimal.setScale 处理java小数点

    BigDecimal.setScale 处理java小数点BigDecimal.setScale()方法用于格式化小数点setScale(1)表示保留一位小数,默认用四舍五入方式setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4setScale(1,BigDecimal.ROUND_H

    2022年10月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号