如何获取目录中最后列出的目录的路径?

时间:2018-07-26 00:55:38

标签: python directory

我有一个看起来像这样的文件夹设置。

myscript.py
directory/
- subdir1/
- subdir2/
- subdir3/

有时会将新文件夹添加到directory/,但是每个新文件夹始终被命名为subdirX,其中X是一个递增1的数字。

如何获取要在directory/中列出的最后一个文件夹的路径?

3 个答案:

答案 0 :(得分:1)

x = ['subdir{}'.format(i) for i in range(100)]
max(x, key=lambda n: int(n[6:]))

max函数将按字典顺序排序,但是它将在“ 100”之后放置“ 99”(9> 1)。因此,首先提取整数部分(n [6:]),将其转换为一个int,然后从中获取最大值。

答案 1 :(得分:0)

您应该使用os.listdir()获取目录中的所有文件,然后使用max()获取具有最大后缀号的文件,最后使用os.path.join()将文件名与完整路径名的目录名称。

import os
print(os.path.join('directory', max(os.listdir('directory'), key=lambda n: int(n.replace('subdir', '')))))

答案 2 :(得分:0)

另一种可能的解决方案是检查最后创建的文件。您可以通过命令os.stat(folder).st_ctime来检查文件夹的状态:

import os
last =  max(os.listdir(), key=lambda x: os.stat(x).st_ctime)