这篇文章主要介绍“python寻找含有关键字文件和删除文件夹的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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 osos.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除os.unlink('F:\新建文本文档.txt') # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。
import ospath = 'F:/新建文本文档.txt' # 文件路径if os.path.exists(path): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove(path) #os.unlink(path)else: print('no such file:%s'%my_file) # 则返回文件不存在
import osos.removedirs(path) # 递归地删除目录。如果子目录成功被删除,则将会成功删除父目录,子目录没成功删除,将抛异常。import osfor 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 shutilshutil.rmtree()
关于“python寻找含有关键字文件和删除文件夹的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。