国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Python 如何獲取目錄下的文件列表,并自然排序

瀏覽:4日期:2022-06-18 14:07:01

在實(shí)際的算法與程序開發(fā)中,經(jīng)常需要面對(duì)的場景就是對(duì)同一目錄內(nèi)的文件進(jìn)行批量操作。

并且很多時(shí)候目錄中的文件明明是有規(guī)律的,同時(shí)希望程序在進(jìn)行處理時(shí)也是按照一定的順序進(jìn)行。

方法 1

>>> import os>>> fileList = os.listdir(’TestDir’)>>> fileList[’test1.txt’, ’test10.txt’, ’test11.txt’, ’test2.txt’, ’test23.txt’, ’test28.txt’]>>> fileList.sort(key= lambda x:int(x[4:-4]))>>> fileList[’test1.txt’, ’test2.txt’, ’test10.txt’, ’test11.txt’, ’test23.txt’, ’test28.txt’]>>>方法 2

>>> import os>>> import natsort>>> fileList = os.listdir(’TestDir’)>>> fileList[’test1.txt’, ’test10.txt’, ’test11.txt’, ’test2.txt’, ’test23.txt’, ’test28.txt’]>>> fileList = natsort.natsorted(fileList)>>> fileList[’test1.txt’, ’test2.txt’, ’test10.txt’, ’test11.txt’, ’test23.txt’, ’test28.txt’]>>>

補(bǔ)充:python對(duì)目錄下的文件排序問題

1.按照時(shí)間來排序

def get_file_list(file_path): dir_list = os.listdir(file_path) if not dir_list:return else:# 注意,這里使用lambda表達(dá)式,將文件按照最后修改時(shí)間順序升序排列# os.path.getmtime() 函數(shù)是獲取文件最后修改時(shí)間# os.path.getctime() 函數(shù)是獲取文件最后創(chuàng)建時(shí)間dir_list = sorted(dir_list,key=lambda x: os.path.getmtime(os.path.join(file_path, x)))# print(dir_list)return dir_list2.獲取最后修改時(shí)間的文件路徑

import osurl=’D:PycharmProjectsAmbulance_Apilogs’lists=os.listdir(url)print(lists)lists.sort(key=lambda fn: os.path.getmtime(url+’’+fn))filepath=os.path.join(url,lists[-1])print(filepath)3.按照文件名字來排序

1)用庫函數(shù)sorted()對(duì)字符串排序,它的對(duì)象是字符

2)用函數(shù)sort()對(duì)數(shù)字排序,它的對(duì)象是數(shù)字,如果讀取文件的話,需要進(jìn)行處理(把文件后綴名‘屏蔽’)

import osimg_path =’./img/’img_list =sorted(os.listdir(img_path)) #文件名按字母排序img_nums =len(img_list)for i in range(img_nums):img_name = img_path + img_list[i]print(img_name)

sort函數(shù)中用到了匿名函數(shù)(key = lambda x:int(x[:-4])),其作用是將后綴名’.jpg’“屏蔽”(因?yàn)椤?jpg’是4個(gè)字符,所以[:-4]的含義是從文件名開始到倒數(shù)第四個(gè)字符為止)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
主站蜘蛛池模板: 额尔古纳市| 安塞县| 墨玉县| 鹤峰县| 建瓯市| 勐海县| 泰来县| 开原市| 石景山区| 长丰县| 秦皇岛市| 罗平县| 哈尔滨市| 绥棱县| 乌鲁木齐市| 独山县| 旌德县| 资源县| 青阳县| 青神县| 合阳县| 临湘市| 军事| 磴口县| 科尔| 神木县| 曲阜市| 会东县| 开封市| 满洲里市| 定西市| 海丰县| 聊城市| 长岭县| 沙坪坝区| 卢氏县| 祥云县| 乌鲁木齐市| 柳河县| 额尔古纳市| 浦县|