python寻找含有关键字文件和删除文件夹方式
作者:solitary_w 发布时间:2021-08-22 05:46:32
标签:python,关键字,删除,文件夹
寻找含有关键字文件和删除文件夹
我们往往在操作文件时,会不知道文件具体的路径。
一般如果只是处理一个文件的话我们可以在文件所在的文件夹下运行python脚本,默认为当前脚本。
而如果一个文件有多层目录结构时,往往这种方法很有局限性。
例如在处理mesaage文件时,先要解压一个压缩文件,其中有两个文件夹,而每个文件夹下的第四层目录中都有一个message文件,现在所要做的就是将每个message文件读入,然后进行分析。
若使用绝对路径去读入文件无疑降低了代码的重用性,所以就写了一个寻找关键字文件的函数。(函数还有很多漏洞,但能解决燃眉之急了。)
#寻找关键字文件
def findfile(keyword,root):
#keyword为关键字,root为文件夹路径
filelist=[] #存放每个文件
rfilelist=[] #存放匹配文件
for root,dirs,files in os.walk(root):
for name in files:
filelist.append(os.path.join(root,name))
#遍历路径文件下的所有文件夹,将所有文件放入filelist
for i in filelist:
if os.path.isfile(i):
if keyword in os.path.basename(os.path.splitext(i)[0]):
rfilelist.append(i)
else:
pass
else:
pass
return rfilelist
以上为简单的关键字文件查找
有时候解压出来的文件会很多,而我们希望获得了有用的数据后,将解压出来的文件再删除掉,所以就有了删除解压文件的函数。
在此处先要导入shutil包
import shutil
#filelist 为解压出来的文件列表
def delete_unzip(filelist):
thfile=filelist
for i in thfile:
shutil.rmtree(os.path.splitext(i)[0])
python删除一个文件或文件夹
使用python删除一个文件或文件夹
需要使用os模块
import os
os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除
os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除
os.unlink('F:\新建文本文档.txt') # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。
import os
path = 'F:/新建文本文档.txt' # 文件路径
if os.path.exists(path): # 如果文件存在
# 删除文件,可使用以下两种方法。
os.remove(path)
#os.unlink(path)
else:
print('no such file:%s'%my_file) # 则返回文件不存在
import os
os.removedirs(path) # 递归地删除目录。如果子目录成功被删除,则将会成功删除父目录,子目录没成功删除,将抛异常。
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))
另一种方法
import shutil
shutil.rmtree()
来源:https://blog.csdn.net/qq_38328875/article/details/79555108


猜你喜欢
- 1. 为什么要使用正则表达式?首先,大家来看一个例子。一个文本文件里面存储了一些市场职位信息,格式如下所示:Python3 高级开发工程师
- 本文实例讲述了Python爬虫框架Scrapy基本用法。分享给大家供大家参考,具体如下:Xpath<html><head&
- 用XMLHTTP Post Form时的表单乱码有两方面的原因——Post表单数据时中文乱码;服务器Response被XMLHTTP不正确编
- 前言subprocess库提供了一个API创建子进程并与之通信。这对于运行生产或消费文本的程序尤其有好处,因为这个API支持通过新进行的标准
- 环境git : 2+前言最近两天,公司的git合并代码时,出现了严重的问题,浪费很多时间; 现在记录下; 情况是这样的,一个同事自己的本地分
- 前言最近在学习点云处理的时候用到了Modelnet40数据集,该数据集总共有40个类别,每个样本的点云数据存放在一个TXT文件中,每行的前3
- # 配置vuex和在vue中相同,只是mpvue有一个坑,就是不能直接在new Vue的时候传入store。步骤:1.在src目录下新建一个
- MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的&
- 前言大家好,我是小张~记得小时候,家里只有一个钟表用来看时间(含有时针、分针、秒针的那种),挂在墙上哒哒哒响个不停,现在生活条件好了、基本人
- 如何优雅地解析命令行选项随着我们编程经验的增长,对命令行的熟悉程度日渐加深,想来很多人会渐渐地体会到使用命令行带来的高效率。自然而然地,我们
- 在日常应用中,往往根据实际需求录入一些值,而这些值不能直接使用,所以Sql中经常会对字段值进行一些常规的处理。这里搜集了(提取数字、英文、中
- 我就废话不多说了,大家还是直接看代码吧!file1 = 'C:\\Users\\Administrator\\Desktop\\te
- 强大的group by 代码如下:select stdname, isnull(sum( case stdsubject whe
- 1.准备工作先来到有道在线翻译的界面http://fanyi.youdao.com/F12 审查元素 ->选Network一栏,然后F
- python语句mode = ‘test’ if y is None else &lsquo
- 可以查看: OPEN SYMMETRIC KEY 命令关于 对称密钥加密使用证书解密 CREATE MASTER KEY ENCRYPTIO
- asp fso type属性取得文件类型代码是用来返回类型指定的文件或文件夹。语法FileObject.Type FolderObject.
- 简介pandas中的DF数据类型可以像数据库表格一样进行groupby操作。通常来说groupby操作可以分为三部分:分割数据,应用变换和和
- 本文主要利用python的相关模块进行批量ping ,测试IP连通性。下面看具体代码(python3):'''遇到问
- 昨晚写代码的时候,一不小心把某个代码文件误删了。。。赶紧上网找了一下pycharm如何恢复误删文件,结果还真有。经过操作,成功恢复了误删文件