前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python提取文件名

python提取文件名

作者头像
py3study
发布2020-01-07 22:28:29
2.3K0
发布2020-01-07 22:28:29
举报
文章被收录于专栏:python3python3

   首先声明本人初涉python,由于是自学,而且课余时间比较琐碎,所以打算分主次两条线。主的一条线是看python教程,但是这样实在枯燥,所以又有了次的一条线,就是写一些小程序练练手,只想总结下所得,记录自己学习的历程。

   今天写的小程序是提取某文档目录下面的文件名,文档目录里有".txt"".jpg"".bmp"".rm"类型的文件,计划提取后缀名除".rm"以外的文件名并且去后缀,并且存到指定文本文档中,主要涉及到简单的模式匹配和文件操作。

代码语言:javascript
复制
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…。

   其实到这里我已经想到又一个问题了,如果目录中还有目录肿么办?好吧,明天还要实习上班,今天先洗洗碎了,明天我再好好考虑下。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档