python提取文件名的5-6位_python提取文件名
首先声明本人初涉python,由于是自学,而且课余时间比较琐碎,所以打算分主次两条线。主的一条线是看python教程,但是这样实在枯燥,所以又有了次的一条线,就是写一些小程序练练手,只想总结下所得,记录自己学习的历程。
今天写的小程序是提取某文档目录下面的文件名,文档目录里有".txt"".jpg"".bmp"".rm"类型的文件,计划提取后缀名除".rm"以外的文件名并且去后缀,并且存到指定文本文档中,主要涉及到简单的模式匹配和文件操作。import os
filenames=os.listdir('d:\\test\\')
out=open('names.txt','w')
flag=[]
for name in filenames:
if '.txt'==name[-4:]:
filenames[filenames.index(name)]=name[:-4]
flag.append(True)
elif '.jpg'==name[-4:]:
filenames[filenames.index(name)]=name[:-4]
flag.append(True)
elif '.rm'==name[-3:]:
filenames[filenames.index(name)]=name[:-3]
flag.append(True)
else:
flag.append(False)
continue
for name in filenames:
if flag[filenames.index(name)]:
out.write(name+'\n')
out.close()
2中调用了OS中的函数,新建了filenames列表,存储原始文件名。涉及到路径问题,这里使用的是绝对路径,测试的文档目录在D盘。貌似有getcwd()方法能取得当前目录,但是我一般为了操作方便,还是会自己设置一个好操作的路径。
3中也可以同理把存储的文档设置为指定路径,'w'表示写操作。
4中新建了一个空列表,主要为了之后标记哪些是我们需要的文件名。
第一个循环主要是为了修改filenames列表,通过匹配filenames的每个子元素,需要的就去掉后缀存储到filenames列表,并在相应的flag列表中标记True;不需要的就标记False。这里的filenames.index(name)表示的是name这一项在filenames列表中的下标。name[start:end]则使用的是字符串分片,start和end分别表示起始下标和结束下标。熟悉java或者c应该知道数组中第一项下标为0,这里python是类似的,但是python中同时也规定了最后一项下标为-1,以此向前类推。所以name[-4:]表示的是name后4个字符,然后与我们需要的后缀名进行比对。
接着使用第二个循环结合flag列表进行文档写操作,最后关闭文档。python中比较蛋疼的是没有case语句,所以只能一遍遍使用if…else…。
其实到这里我已经想到又一个问题了,如果目录中还有目录肿么办?好吧,明天还要实习上班,今天先洗洗碎了,明天我再好好考虑下。
python提取文件名的5-6位_python提取文件名相关推荐
- python输出字符串的后两位_Python字符串三种格式化输出
字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...
- python四舍五入保留小数点后三位_Python中的“正确”四舍五入到小数点后3位
我可能遗漏了一些重要的东西,但我无法找到一种方法来在Python(2.7)中将浮点/小数"适当"舍入,至少舍入到小数点后三位.我的意思是1.2225应该四舍五入到1.223,而1. ...
- python提取包含特定字符串的行_python提取具有某种特定字符串的行数据方法
今天又帮女朋友处理了一下,她的实验数据,因为python是一年前经常用,最近找工作,用的是c,c++,python的有些东西忘记了,然后就一直催我,说我弄的慢,弄的慢,你自己弄啊,烦不烦啊,逼逼叨叨的 ...
- python 取字符串的最后一位_python如何截取字符串最后的几位数字
字符串切片也就是截取字符串,取子串. Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引-1内的字符串 步长不指定时步长为1,字符串[开始索引:结束索引] ...
- python读取log文件生成图形表_python提取log文件内容并画出图表
之前在excel里面分析log数据,简直日了*了. 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用. 日志内容大致如下 2016-10-21 21:07:59 ...
- python提取xml的所有框坐标_python 提取批量xml文件中的坐标信息存入txt文件 xml文件转txt文件...
读取多个xml文件中的坐标信息:xmin.xmax.ymin.ymax(实际为一个矩形框的坐标值),并通过简单的计算得到矩形框的长.宽,最后按照自己的需求读入到一个txt文档中 xml文件目录及文件如 ...
- python 取字符串的最后一位_python中获得一个字符串最后出现位置 | 学步园
def lastpos(findstr,mystr): #gp.AddMessage("查询=======:"+findstr+","+mystr) num=l ...
- python获取视频帧的时间_Python提取视频中图片的示例(按帧、按秒)
一.按帧提取 #coding=utf-8 import os import cv2 def save_img(): #提取视频中图片 按照每帧提取 video_path = r'D:\\test\\' ...
- python 二维码_Python提取支付宝和微信支付二维码
本文首发于我的个人博客,更多 Python 和 django 开发教程,请访问 追梦人物的博客. 支付宝或者微信支付导出的收款二维码,除了二维码部分,还有很大一块背景图案,例如下面就是微信支付的收款二 ...
最新文章
- Docker运行PostgreSQL
- MTK6515 android打版软件配置(DrvGen.exe 使用)
- dataframe在groupby之后,选其中的某列作为画图的新index
- JVM之GCRoots概述
- webcomponents安装了没有用_Web Components 入门实例教程
- [JMX一步步来] 7、用JDK5.0的JConsole来连接MBean
- css 商城 两列_【云控基础】HTML+CSS基础入门
- (四)在MLOps管道中进行持续训练
- mysql创建复杂表_数据库_MySQL_复杂的表结构创建
- linun开启oracle监听,Linux下配置Oracle监听器
- 判断数据是增量分区全量分区
- 【运动学】基于matlab GUI模拟鱼类目标追击问题【含Matlab源码 166期】
- 用Quartus仿真计数器模块:
- 东方通(tongweb)部署
- Hongda -接小球游戏
- 秦牧鸿蒙之体有什么用,第一五一二章 鸿蒙元气
- C语言二级题库(刷题软件+60套真题+填空题+大题)2022年9月份新题第三套
- Netbackup5230备份一体机重删率异常故障分析日志收集
- keras使用plot_model绘制网络模型图
- 安卓中图片占用内存大小分析
热门文章
- sql 之like 和通配符%,_(mysql)
- 服务器2008 系统日志 提示打印机,介绍服务器日志出现打印机错误的解决方法
- linux如何调试elf程序,Linux应用程序elf描述
- php 读取三级分类,php excel 导入 导入三级分类 表格应该怎么设计才能得到想要的数据格式?汗血宝马...
- python程序题斐波那契数列_Python_经典题_斐波那契数列
- 不同声音的传播速度会一样吗?
- 新世纪英汉词典 | 今日最佳
- 【10.29周一电商,已好】中国日历的至高境界,377张震撼级插画,美到爆!
- php psr 编码规范_PHP之PSR-4规范:自动加载
- sql 多表多行模糊查询_从零开始学习SQL(五)多表查询