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

Python 如何获取目录中最后列出的目录的路径?,python,directory,Python,Directory,我有一个像这样的文件夹设置 myscript.py directory/ - subdir1/ - subdir2/ - subdir3/ 有时会将新文件夹添加到目录/,但每个新文件夹始终命名为子文件夹,其中X是一个递增1的数字 如何获取要在目录/中列出的最后一个文件夹的路径 x = ['subdir{}'.format(i) for i in range(100)] max(x, key=lambda n: int(n[6:])) max函数将按字典顺序进行排序,但会将'99'放在'100

我有一个像这样的文件夹设置

myscript.py
directory/
- subdir1/
- subdir2/
- subdir3/
有时会将新文件夹添加到
目录/
,但每个新文件夹始终命名为
子文件夹
,其中X是一个递增1的数字

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

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

max函数将按字典顺序进行排序,但会将'99'放在'100'之后(9>1)。因此,首先提取整数部分(n[6:]),转换为整数,然后从中获取最大值。

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

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

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

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

不必要地删除并重新添加子目录字符串。请重新阅读。删除操作仅在用于数字比较的键函数内完成。之后再也没有“再添加”了。之后唯一要做的事情就是加入主目录,而与子目录无关。你说得太对了