我的文件末尾附有一个数字,例如:
file_01.csv
file_02.csv
file_03.csv
我正在寻找一种简单的方法来识别附加了最大数字的文件。是否有一种适度的简单方法来实现这一目标? ...我正在考虑导入文件夹中的所有文件名,提取最后的数字,转换为数字,然后查找最大数字,但是这看起来有点复杂,我认为是一项相对常见的任务。
答案 0 :(得分:7)
如果文件名的格式非常好,那么您只需使用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'
答案 1 :(得分:0)
import re
x=["file_01.csv","file_02.csv","file_03.csv"]
print max(x,key=lambda x:re.split(r"_|\.",x)[1])