内容简介:如果使用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]
接着再次执行:
移除前Linux公社目录下有文件:['www.linuxidc.com', 'linuxidc.com', 'Linux公社LOGO.PNG', 'Linux公社', 'linuxidc.com.txt']
要删除的文件不存在!
[Finished in 0.0s]
案例二:
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]
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 专题页面 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Scala在资源文件夹中获取文件的文件路径
- Node.js折腾记一:读指定文件夹,输出该文件夹的文件树
- C/C++遍历文件夹和文件
- QT选择目录等常用文件/文件夹操作
- tar打包如何不打包某一个文件夹(排除某些文件夹)
- 如何解密Windows 10中的EFS加密文件和文件夹
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!