Python将数字最大的文件标识为文件名的一部分

Python将数字最大的文件标识为文件名的一部分,python,python-2.7,Python,Python 2.7,我有一些文件末尾附加了一个数字,例如: file_01.csv file_02.csv file_03.csv 我正在寻找一种简单的方法来识别附加了最大数字的文件。有没有一个适度简单的方法来实现这一点。。。我正在考虑导入文件夹中的所有文件名,提取最后的数字,转换为数字,然后查找最大数字,但是这似乎有点复杂,因为我认为这是一项相对常见的任务。如果文件名的格式真的很好,那么您可以简单地使用max: >>> max(['file_01.csv', 'file_02.cs

我有一些文件末尾附加了一个数字,例如:

  file_01.csv
  file_02.csv
  file_03.csv

我正在寻找一种简单的方法来识别附加了最大数字的文件。有没有一个适度简单的方法来实现这一点。。。我正在考虑导入文件夹中的所有文件名,提取最后的数字,转换为数字,然后查找最大数字,但是这似乎有点复杂,因为我认为这是一项相对常见的任务。

如果文件名的格式真的很好,那么您可以简单地使用
max

>>> max(['file_01.csv', 'file_02.csv', 'file_03.csv'])
'file_03.csv'
但请注意:

>>> 'file_5.csv' > 'file_23.csv'
True
>>> 'my_file_01' > 'file_123'
True
>>> 'fyle_01' > 'file_42'
True
因此,您可能希望向函数添加某种验证,和/或使用
glob.glob

>>> max(glob.glob('/tmp/file_??'))
'/tmp/file_03'

那么你想从一个目录中读取所有文件名,并获取其名称中数字最大的文件名?是的,所以在本例中,我想知道它是“file_03.csv”(“file_”的部分每次都是一致的)从列表中提取整数3的最佳方法是什么?
import re
x=["file_01.csv","file_02.csv","file_03.csv"]
print max(x,key=lambda x:re.split(r"_|\.",x)[1])