python文件讀取時順序錯誤的問題及解決
python文件讀取時順序錯誤的問題
文件讀取亂序問題
文件操作的時候,經(jīng)常需要處理的往往不是一個單一的文件,所以需要對文件夾進(jìn)行遍歷處理。
這里會使用到listdir()函數(shù)獲取文件夾下所有文件的文件名列表
如圖:

但是獲取的順序并不是整齊的,在做數(shù)據(jù)對應(yīng)的時候可能會出現(xiàn)組合錯誤的情況。
直接上代碼
對返回文件名列表的后綴進(jìn)行切割,只對文件名進(jìn)行數(shù)字比較排序
值得注意,如果出現(xiàn)字母可能會導(dǎo)致錯誤!
import os
def dir_name(path):
file_list = os.listdir(path)
file_list.sort(key=lambda x: int(x[:-4])) # 切割后綴以'.'為分界線,按照‘.'左邊的數(shù)字從小到大排序(文件名不含字母)
file_name_list = []
for i in range(len(file_list)):
# 路徑拼接
file_name = path + '/' + file_list[i]
# print(file_name)
file_name_list.append(file_name)
# 返回文件路徑列表
return file_name_list傳入該函數(shù)一個文件夾路徑,函數(shù)返回包含路徑的文件名列表(順序排列)

文件路徑的拼接方式可以在函數(shù)中進(jìn)行修改,如果只需要文件名,可以將拼接部分進(jìn)行刪除
python讀取文件名亂序(徹底解決)
from natsort import ns, natsorted import os def file_sorting(path): ? ? list = os.listdir(path) ? ? files = natsorted(list,alg=ns.PATH) ? ? print(files)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python庫安裝加速之使用清華大學(xué)鏡像源的詳細(xì)指南
這篇文章主要介紹了如何通過清華大學(xué)鏡像源加速Python庫安裝,提供臨時指定和永久配置方法,并列舉阿里云、中科大、豆瓣等其他鏡像源,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-06-06
python基于物品協(xié)同過濾算法實現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python基于物品協(xié)同過濾算法實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
Python實現(xiàn)多場景下Word文檔水印添加的實戰(zhàn)指南
在文檔管理和版權(quán)保護(hù)場景中,為 Word 文檔添加水印是一項常見且實用的需求,本文將深入探討如何使用 Python 實現(xiàn)多種場景下的 Word 文檔水印添加功能,希望對大家有所幫助2026-03-03
Django+Celery實現(xiàn)動態(tài)配置定時任務(wù)的方法示例
這篇文章主要介紹了Django + Celery 實現(xiàn)動態(tài)配置定時任務(wù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05

