最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

方法 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']
>>>

補充:python對目錄下的文件排序問題

1.按照時間來排序

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

2.獲取最后修改時間的文件路徑

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.按照文件名字來排序

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

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

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'“屏蔽”(因為‘.jpg'是4個字符,所以[:-4]的含義是從文件名開始到倒數(shù)第四個字符為止)

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

相關(guān)文章

  • 探索Python列表合并技術(shù)提高代碼靈活性

    探索Python列表合并技術(shù)提高代碼靈活性

    本文將深入研究Python中列表合并的幾種方法,通過詳細的示例代碼和細致的解釋,呈現(xiàn)一場關(guān)于列表操作的精彩探險,無論是初學者還是有經(jīng)驗的開發(fā)者,通過學習本文,將更加熟練地運用這些方法,提升代碼的效率和可讀性
    2024-01-01
  • Python typing_extensions介紹: NotRequired和TypedDict基本概念和使用方法

    Python typing_extensions介紹: NotRequired和TypedDict基

    文章介紹了Python的類型提示模塊typing_extensions中的兩個工具:NotRequired`和`TypedDict,本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 解決pytorch 的state_dict()拷貝問題

    解決pytorch 的state_dict()拷貝問題

    這篇文章主要介紹了解決pytorch 的state_dict()拷貝問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳解從Django Rest Framework響應(yīng)中刪除空字段

    詳解從Django Rest Framework響應(yīng)中刪除空字段

    這篇文章主要介紹了詳解從Django Rest Framework響應(yīng)中刪除空字段,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 數(shù)據(jù)可視化Pyecharts的實際使用方式

    數(shù)據(jù)可視化Pyecharts的實際使用方式

    這篇文章主要介紹了數(shù)據(jù)可視化Pyecharts的實際使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • python中求兩個向量的夾角方式

    python中求兩個向量的夾角方式

    這篇文章主要介紹了python中求兩個向量的夾角方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python 中的 with open文件操作的最佳實踐

    Python 中的 with open文件操作的最佳實踐

    在 Python 中,with open() 提供了一個簡潔而安全的方式來處理文件操作,它不僅能確保文件在操作完成后自動關(guān)閉,還能處理文件操作中的異常,避免資源泄漏,本文給大家介紹Python 中的 with open文件操作的最佳實踐,感興趣的朋友一起看看吧
    2025-04-04
  • Django中URL的參數(shù)傳遞的實現(xiàn)

    Django中URL的參數(shù)傳遞的實現(xiàn)

    這篇文章主要介紹了Django中URL的參數(shù)傳遞的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • python如何獲取當前系統(tǒng)的日期

    python如何獲取當前系統(tǒng)的日期

    這篇文章主要介紹了python如何獲取當前系統(tǒng)的日期,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python 定時修改數(shù)據(jù)庫的示例代碼

    python 定時修改數(shù)據(jù)庫的示例代碼

    這篇文章主要介紹了python 定時修改數(shù)據(jù)庫的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論

孝昌县| 扶风县| 北辰区| 德保县| 清镇市| 读书| 秦安县| 陵水| 镇原县| 沅江市| 宿松县| 甘南县| 若尔盖县| 卫辉市| 九龙城区| 雅江县| 洞头县| 荃湾区| 枣强县| 商城县| 江孜县| 元氏县| 乌审旗| 霍邱县| 泰来县| 黄浦区| 监利县| 沂水县| 忻州市| 台南县| 青神县| 桃源县| 宁化县| 莱阳市| 阿鲁科尔沁旗| 岳池县| 凯里市| 彩票| 万全县| 宿州市| 浙江省|