一尘不染

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

python

我的文件末尾带有数字,例如:

  file_01.csv
  file_02.csv
  file_03.csv

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


阅读 219

收藏
2021-01-20

共1个答案

一尘不染

如果文件名确实以一种很好的方式格式化,则可以简单地使用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'
2021-01-20