日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python提取文件名的5-6位_python提取文件名

發(fā)布時間:2023/12/4 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python提取文件名的5-6位_python提取文件名 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先聲明本人初涉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中調(diào)用了OS中的函數(shù),新建了filenames列表,存儲原始文件名。涉及到路徑問題,這里使用的是絕對路徑,測試的文檔目錄在D盤。貌似有getcwd()方法能取得當前目錄,但是我一般為了操作方便,還是會自己設置一個好操作的路徑。

3中也可以同理把存儲的文檔設置為指定路徑,'w'表示寫操作。

4中新建了一個空列表,主要為了之后標記哪些是我們需要的文件名。

第一個循環(huán)主要是為了修改filenames列表,通過匹配filenames的每個子元素,需要的就去掉后綴存儲到filenames列表,并在相應的flag列表中標記True;不需要的就標記False。這里的filenames.index(name)表示的是name這一項在filenames列表中的下標。name[start:end]則使用的是字符串分片,start和end分別表示起始下標和結束下標。熟悉java或者c應該知道數(shù)組中第一項下標為0,這里python是類似的,但是python中同時也規(guī)定了最后一項下標為-1,以此向前類推。所以name[-4:]表示的是name后4個字符,然后與我們需要的后綴名進行比對。

接著使用第二個循環(huán)結合flag列表進行文檔寫操作,最后關閉文檔。python中比較蛋疼的是沒有case語句,所以只能一遍遍使用if…else…。

其實到這里我已經(jīng)想到又一個問題了,如果目錄中還有目錄腫么辦?好吧,明天還要實習上班,今天先洗洗碎了,明天我再好好考慮下。

總結

以上是生活随笔為你收集整理的python提取文件名的5-6位_python提取文件名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。