欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年05月25日 14:22:15   作者:Northan  
這篇文章主要介紹了Python 如何獲取目錄下的文件列表,并自然排序的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

在實(shí)際的算法與程序開(kāi)發(fā)中,經(jīng)常需要面對(duì)的場(chǎng)景就是對(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ì)目錄下的文件排序問(wèn)題

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

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_list

2.獲取最后修改時(shí)間的文件路徑

import os
url='D:\PycharmProjects\Ambulance_Api\logs'
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.按照文件名字來(lái)排序

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

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

import os
img_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]的含義是從文件名開(kāi)始到倒數(shù)第四個(gè)字符為止)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python獲取CPU、內(nèi)存使用率以及網(wǎng)絡(luò)使用狀態(tài)代碼

    Python獲取CPU、內(nèi)存使用率以及網(wǎng)絡(luò)使用狀態(tài)代碼

    這篇文章主要介紹了Python獲取CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)使用狀態(tài)的相關(guān)代碼,對(duì)此有需要的朋友一起測(cè)試下。
    2018-02-02
  • python程序超時(shí)處理方式

    python程序超時(shí)處理方式

    這篇文章主要介紹了python程序超時(shí)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python實(shí)現(xiàn)設(shè)置windows桌面壁紙代碼分享

    Python實(shí)現(xiàn)設(shè)置windows桌面壁紙代碼分享

    這篇文章主要介紹了Python實(shí)現(xiàn)設(shè)置windows桌面壁紙,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • Python中如何給字典設(shè)置默認(rèn)值

    Python中如何給字典設(shè)置默認(rèn)值

    這篇文章主要介紹了Python中如何給字典設(shè)置默認(rèn)值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python enumerate函數(shù)的使用方法總結(jié)

    python enumerate函數(shù)的使用方法總結(jié)

    這篇文章主要介紹了python enumerate使用方法總結(jié),enumerate函數(shù)用于遍歷序列中的元素以及它們的下標(biāo),有興趣的可以了解一下
    2017-11-11
  • Python中的裝飾器用法詳解

    Python中的裝飾器用法詳解

    這篇文章主要介紹了Python中的裝飾器用法,以實(shí)例形式詳細(xì)的分析了Python中的裝飾器的使用技巧及相關(guān)注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化

    Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化

    這篇文章主要介紹了Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python selenium抓取微博內(nèi)容的示例代碼

    Python selenium抓取微博內(nèi)容的示例代碼

    本篇文章主要介紹了Python selenium抓取微博內(nèi)容的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python進(jìn)階之迭代器與迭代器切片教程

    Python進(jìn)階之迭代器與迭代器切片教程

    迭代器是 Python 中獨(dú)特的一種高級(jí)特性,而切片也是一種高級(jí)特性,兩者相結(jié)合,會(huì)產(chǎn)生什么樣的結(jié)果呢,需要的朋友可以參考下
    2020-01-01
  • pandas中的series數(shù)據(jù)類型詳解

    pandas中的series數(shù)據(jù)類型詳解

    這篇文章主要介紹了pandas中的series數(shù)據(jù)類型詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論