校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python 如何獲取目錄下的文件列表,并自然排序

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

熱門標簽:電銷機器人的風險 開封語音外呼系統代理商 400電話辦理哪種 河北防封卡電銷卡 天津電話機器人公司 手機網頁嵌入地圖標注位置 應電話機器人打電話違法嗎 地圖標注線上如何操作 開封自動外呼系統怎么收費

在實際的算法與程序開發中,經常需要面對的場景就是對同一目錄內的文件進行批量操作。

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

方法 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() 函數是獲取文件最后修改時間
        # os.path.getctime() 函數是獲取文件最后創建時間
        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)用庫函數sorted()對字符串排序,它的對象是字符

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

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函數中用到了匿名函數(key = lambda x:int(x[:-4])),其作用是將后綴名'.jpg'“屏蔽”(因為‘.jpg'是4個字符,所以[:-4]的含義是從文件名開始到倒數第四個字符為止)

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

您可能感興趣的文章:
  • Python入門基本操作列表排序用法詳解
  • Python列表排序方法reverse、sort、sorted詳解
  • Python列表排序 list.sort方法和內置函數sorted用法
  • Python 排序最長英文單詞鏈(列表中前一個單詞末字母是下一個單詞的首字母)
  • Python要如何實現列表排序的幾種方法
  • Python 列表排序詳解

標簽:駐馬店 蘭州 成都 山東 常州 江蘇 宿遷 六盤水

巨人網絡通訊聲明:本文標題《Python 如何獲取目錄下的文件列表,并自然排序》,本文關鍵詞  Python,如何,獲取,目,錄下,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python 如何獲取目錄下的文件列表,并自然排序》相關的同類信息!
  • 本頁收集關于Python 如何獲取目錄下的文件列表,并自然排序的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 博乐市| 灵川县| 永福县| 通许县| 岳阳市| 博罗县| 揭东县| 宜州市| 山东| 盈江县| 那坡县| 湟中县| 齐河县| 库伦旗| 江源县| 合肥市| 尚志市| 汤原县| 海城市| 孟连| 桐柏县| 松潘县| 太和县| 阜城县| 兴仁县| 资阳市| 万年县| 顺昌县| 郸城县| 沐川县| 玉门市| 百色市| 长泰县| 苗栗县| 双流县| 东乌| 仪征市| 会东县| 榆树市| 镇远县| 香河县|