如何在目录中获取包含最新yymm的文件夹?

时间:2017-10-26 18:04:19

标签: python-3.x

有没有办法使用python 3.x获取名称中包含yymm的最新文件夹? 可以说在特定的目录中有像abc1708,abc1707,xyz1709这样的文件夹名称。 如何从xyz1709中选择1709,因为这是三个文件夹中最新的一个?

任何代码都将非常感谢... 提前谢谢..

1 个答案:

答案 0 :(得分:0)

dirnames = ['abc1708', 'abc1707', 'xyz1709']
max(dirnames, key=lambda x: int(x[-4:]))

如果您的目录名称列表包含不以4位数字结尾的名称,那么您需要在运行上述代码之前清除所有这些名称:

dirnames = ['a', 'abc1708', 'abc1707', 'xyz1709', 'nonumbers']

def check_dir_name(f):
    try:
        digits = f[-4:]
        if len(digits) != 4:
            return False
        int(f[-4:])
    except:
        return False
    return True

# first filter out bad directory names:
good_dirnames = [x for x in dirnames if check_dir_name(x)]

# now run the code on "good names" only:
max(good_dirnames, key=lambda x: int(x[-4:]))