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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DataX使用指南

    DataX使用指南简介DataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS等各种异构数据源之间高效的数据同步功能。DataX采用了框架+插件的模式,目前已开源,代码托管在github。DataX安装部署及小试1.下载压缩包:下载页面地址:https://github.com/a…

    2022年5月16日
    54
  • 3.20 DAY3[通俗易懂]

    3.20 DAY3[通俗易懂]1.msg=’我叫%s,我看着像%r’%(‘太白’,’郭德纲’)print(msg)我叫太白,我看着像’郭德纲’句中出现引号,把%s替换成%r,可以打印出原来样式2.ASCII8位字节英文字母,数字,特殊字符unicode:万国码  python2:unicode默认是2个字节表示一个字符  python3:unicode统一是4个字节表示一个字符    创建初期16位字…

    2022年9月25日
    3
  • ROS教程(一):ROS安装教程(详细图文)

    ROS教程(一):ROS安装教程(详细图文)前言关于ROS(RobotOS机器人操作系统),估计看这个教程的人已经大概知道是啥了,我在这就不废话了。首先对于ROS的安装,在它的官方网站:http://wiki.ros.org/ROS/Installation中有详细说明。但是。。。上面的教程都是英文的,如果感觉略有压力(本人就是)。所以文章目录前言一、版本选择二、开始安装2.1软件中心配置2.2添加源2.3安装2.4配置ROS环境到系统三、验证ROS

    2022年6月4日
    39
  • 漫谈词向量

    漫谈词向量原文:Onwordembeddings作者:SebastianRuder译者:KK4SBB审校:王艺责编:何永灿,关注人工智能,投稿请联系heyc@csdn.net或微信号289416419目录词向量的来历词向量模型语言建模概述经典的神经语言模型C&W模型Word2VecCBOWSkip-gram非监督式学习得到…

    2022年5月22日
    41
  • Spring中的Aware和Capable

    Spring中的Aware和Capable

    2021年6月18日
    101
  • JSP/Servlet工作原理[通俗易懂]

    JSP/Servlet工作原理[通俗易懂]JSP/Servlet工作原理ServletServlet没有main方法,不能够独立运行,它的运行需要容器的支持,Tomcat是最常用的JSP/Servlet容器。Servlet运行在Servlet容器中,并由容器管理从创建到销毁的整个过程Servlet的生命周期加载和实例化Servlet容器装载和实例化一个Servlet。创建出该Servlet类的一个实例。初始化在Servlet

    2022年10月4日
    3

发表回复

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

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