python文件处理之批量删除文件夹内特定文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python文件处理之批量删除文件夹内特定文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2029字,纯文字阅读大概需要3分钟。
内容图文
这篇是个人生活上遇到的小问题,就是为了之前那篇html和css入门,在网盘找到了udacity的前端课程,大家都知道这是国外的在线授课视频,结果我兴冲冲的打开网盘下载,解压到同一个文件夹完就傻眼了。
就是解压的字幕压缩包里居然有四个字幕,四个字幕!然后打开我的视频播放软件居然每次都自动载入第一个,阿拉伯文,一脸懵逼!我不懂播放软件也不想懂他选取字幕的原理,手动拿第二个视频试了下,貌似删除其他三个字幕后,就自动播放中文字幕了。所以要是我每个视频都删除前三个,留下中文字幕貌似就解决这问题了,可是有九十多个视频呢,手动删怕是要崩溃。他们不是说只要是重复的操作,python都能替代,那我就网上开始找资料了呗,这次要处理的文件名也不复杂,都有规律。由于在网上找了个删除文件的源码,先试下各个函数的意思。
import os #python操作目录的库
path = '/Users/herenyi/Downloads/HTML 和 CSS 入门 Videos/4 - 页面结构 - lang_ar_vs1.srt'
#我的文件位置
os.path.splitext(path) #看下splitext函数什么功能
os.path.split(path) #看下split函数什么功能
split分隔出路径和文件名,solit分隔出后缀和后缀之前的两模块。
os.path.basename(path) #看下basename函数什么功能
os.remove(path) #这是删除文件函数
basename是取回文件名的操作,remove是传入文件名删除的操作,由于我没在文件目录下运行,都在anaconda上运行,所以需要在文件名之前加上传入路径,本来传入文件名就行。接下来就开始实战了。
import os
#获取目录下的要删除文件
def get_file(file_dir):
lists=[]
for root, dirs, files in os.walk(file_dir):
for file in files:
if (os.path.splitext(file)[1] == '.srt' and
os.path.split(file)[1].find('zh-cn') == -1):
#再那位仁兄的基础上加入这一句逻辑判断,首先筛选出srt后缀
再选出不包含中文字幕的文件,也就是剩下所有字幕。
lists.append(os.path.basename(file))
print ('文件名获取成功')
return lists
#批量删除文件
def removeFile():
lists = file_name(path)
for index in range(len(lists)):
os.remove('/Users/herenyi/Downloads/HTML 和 CSS 入门 Videos/'+ lists[index])
print ('文件删除成功')
path = '/Users/herenyi/Downloads/HTML 和 CSS 入门 Videos'
get_file(path)
removeFile()
大功告成,是不是很清爽,虽然是个小尝试,可能在大牛面前见笑了,可是之前一直都是撸网上项目,这次终于解决了自己实际的问题,还是很有成就感的,哈哈。
内容总结
以上是互联网集市为您收集整理的python文件处理之批量删除文件夹内特定文件全部内容,希望文章能够帮你解决python文件处理之批量删除文件夹内特定文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。