如何使用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


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

查看所有标签

猜你喜欢:

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

Building Social Web Applications

Building Social Web Applications

Gavin Bell / O'Reilly Media / 2009-10-1 / USD 34.99

Building a social web application that attracts and retains regular visitors, and gets them to interact, isn't easy to do. This book walks you through the tough questions you'll face if you're to crea......一起来看看 《Building Social Web Applications》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具