如何使用Python删除一个文件或文件夹

栏目: Python · 发布时间: 5年前

内容简介:如果使用Python删除一个文件或文件夹,需要使用os模块。Python版本为3.6.7Linux版本为Ubuntu 18.04.2

如果使用 Python 删除一个文件或文件夹,需要使用os模块。

Python版本为3.6.7

Linux版本为Ubuntu 18.04.2

案例一:

Python os.remove() 删除文件

概述

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

在Unix, Windows中均测试有效

语法

remove()方法语法格式如下:

os.remove(path)

参数

path -- 要移除的文件路径

返回值

该方法没有返回值

实例

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, sys
dirPath = "Linux公社/"
print ('移除前 Linux 公社目录下有文件:%s' %os.listdir(dirPath))
#判断文件是否存在
if(os.path.exists(dirPath+"linuxmi.txt")):
    os.remove(dirPath+"linuxmi.txt")
    print ('移除后linux公社 目录下有文件:%s' %os.listdir(dirPath))
else:
    print ("要删除的文件不存在!")

执行以上程序输出结果如下:

移除前Linux公社目录下有文件:['www.linuxidc.com', 'linuxidc.com', 'Linux公社LOGO.PNG', 'Linux公社', 'linuxmi.txt', 'linuxidc.com.txt']

移除后linux公社 目录下有文件:['www.linuxidc.com', 'linuxidc.com', 'Linux公社LOGO.PNG', 'Linux公社', 'linuxidc.com.txt']

[Finished in 0.0s]

如何使用Python删除一个文件或文件夹

接着再次执行:

移除前Linux公社目录下有文件:['www.linuxidc.com', 'linuxidc.com', 'Linux公社LOGO.PNG', 'Linux公社', 'linuxidc.com.txt']

要删除的文件不存在!

[Finished in 0.0s]

如何使用Python删除一个文件或文件夹

案例二:

Python os.removedirs() 和shutil.rmtree() 用于删除文件夹

概述

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

语法

removedirs()方法语法格式如下:

os.removedirs(path)

参数

path -- 要移除的目录路径

返回值

该方法没有返回值

实例

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

import os,sys
import shutil
dstPath="Linux公社/"

print ("目录删除前: %s"  % os.listdir(dstPath))
#递归的删除目录及文件
#shutil.rmtree('Linux公社/aa') 
#以下两个函数用于删除空目录文件
os.rmdir("Linux公社/linuxmi")
#os.removedirs("test/linuxmi")
print ("目录删除后: %s"  % os.listdir(dstPath))

执行代码输出如下:

目录删除前: ['www.linuxidc.com', 'linuxmi', 'linuxidc.com', 'Linux公社LOGO.PNG', 'Linux公社', 'linuxidc.com.txt']

目录删除后: ['www.linuxidc.com', 'linuxidc.com', 'Linux公社LOGO.PNG', 'Linux公社', 'linuxidc.com.txt']

[Finished in 0.1s]

如何使用Python删除一个文件或文件夹

shutil 模块

shutil.copyfile( src, dst)  #从源src复制到dst中去。 如果当前的dst已存在的话就会被覆盖掉

shutil.move( src, dst)  #移动文件或重命名

shutil.copymode( src, dst) #只是会复制其权限其他的东西是不会被复制的

shutil.copystat( src, dst) #复制权限、最后访问时间、最后修改时间

shutil.copy( src, dst)  #复制一个文件到一个文件或一个目录

shutil.copy2( src, dst)  #在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西

shutil.copy2( src, dst)  #如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作

shutil.copytree( olddir, newdir, True/Flase) #把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接

shutil.rmtree( src )  #递归删除一个目录以及目录内的所有内容

案例三:

以下为Python简单删除目录下文件以及文件夹的代码及注释:

#Python简单删除目录下文件以及文件夹
import os
import shutil
filelist=[]
rootdir=r"Linux公社"                       #选取删除文件夹的路径,最终结果删除img文件夹
filelist=os.listdir(rootdir)                #列出该目录下的所有文件名
for f in filelist:
    filepath = os.path.join( rootdir, f )   #将文件名映射成绝对路劲
    if os.path.isfile(filepath):            #判断该文件是否为文件或者文件夹
        os.remove(filepath)                 #若为文件,则直接删除
        print(str(filepath)+" removed!")
    elif os.path.isdir(filepath):
        shutil.rmtree(filepath,True)        #若为文件夹,则删除该文件夹及文件夹内所有文件
        print("dir "+str(filepath)+" removed!")
shutil.rmtree(rootdir,True)                 #最后删除Linux公社总文件夹
print("删除成功")

执行代码输出如下:

dir Linux公社/www.linuxidc.com removed!

dir Linux公社/linuxidc.com removed!

Linux公社/Linux公社LOGO.PNG removed!

dir Linux公社/Linux公社 removed!

Linux公社/linuxidc.com.txt removed!

删除成功

[Finished in 0.1s]

如何使用Python删除一个文件或文件夹

更多Python相关信息见 Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-05/158470.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

iOS面试之道

iOS面试之道

故胤道长、唐巧 / 电子工业出版社 / 2018-7 / 59.00元

《iOS面试之道》是作者将多年的工作经验和积累,结合具体面试内容总结而成的。 《iOS面试之道》共分为3部分。第1部分为面试准备,详细介绍求职中遇到的基本问题,作者根据其多年的经验,在面试流程、简历投递、复习准备方面给出了完善的参考意见和建议。第2部分为算法知识。算法几乎是各种水平的程序员都要面对的考查内容。该部分采用Swift语言重新审视了多种数据结构和算法原理,可以说是为iOS开发者量身......一起来看看 《iOS面试之道》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具