Python 如何使用glob根据文件名中的数字按顺序读取文件?

Python 如何使用glob根据文件名中的数字按顺序读取文件?,python,csv,file,glob,Python,Csv,File,Glob,我必须使用循环读取文件夹中的文件,以便采取进一步的操作 代码格式 for file in glob.glob('SZ*.csv'): ... print(file) 我得到的输出 SZ1.CSV SZ10.CSV SZ11.CSV SZ12.CSV SZ13.CSV SZ14.CSV SZ15.CSV SZ16.CSV SZ17.CSV SZ18.CSV SZ19.CSV SZ2.CSV SZ20.CSV SZ21.CSV SZ22.CSV SZ3.CSV SZ4.CSV SZ5.CS

我必须使用循环读取文件夹中的文件,以便采取进一步的操作

代码格式

for file in glob.glob('SZ*.csv'):
...     print(file)
我得到的输出

SZ1.CSV
SZ10.CSV
SZ11.CSV
SZ12.CSV
SZ13.CSV
SZ14.CSV
SZ15.CSV
SZ16.CSV
SZ17.CSV
SZ18.CSV
SZ19.CSV
SZ2.CSV
SZ20.CSV
SZ21.CSV
SZ22.CSV
SZ3.CSV
SZ4.CSV
SZ5.CSV
SZ6.CSV
SZ7.CSV
SZ8.CSV
SZ9.CSV
但是我想根据文件名中的数字按顺序读取文件

怎么做?

您可以对其进行排序-

import re

sorted(glob.glob("SZ*.CSV"), key=lambda x: int(re.findall("[0-9]+", x)[0]))
你可以把它分类-

import re

sorted(glob.glob("SZ*.CSV"), key=lambda x: int(re.findall("[0-9]+", x)[0]))
试一试

试一试