我需要第二个最新的文件。
在这个帖子中找到最新的:
Python get most recent file in a directory with certain extension
使用此构造:
newest = min(glob.iglob('upload/*.log'), key=os.path.getctime)
但是,我怎样才能得到min或max而不是第二个元素?
答案 0 :(得分:3)
我认为这可能是一个合适的解决方案:
# for the min + 1
sorted(glob.iglob('*.log'), key=os.path.getctime)[1]
# for the newest
sorted(glob.iglob('*.log'), key=os.path.getctime)[-1]
# for the second newest ( max - 1)
sorted(glob.iglob('*.log'), key=os.path.getctime)[-2]
所以基本上glob.iglob('*.log')
只是一个数组(更准确地说它是一个生成器) - 你可以通过ctime对它进行排序并找到你想要的东西。
答案 1 :(得分:2)
sorted_list = sorted(glob.iglob('upload/*.log'), key=os.path.getctime)
sorted_list[-2]