有没有办法使用python 3.x获取名称中包含yymm的最新文件夹? 可以说在特定的目录中有像abc1708,abc1707,xyz1709这样的文件夹名称。 如何从xyz1709中选择1709,因为这是三个文件夹中最新的一个?
任何代码都将非常感谢... 提前谢谢..
答案 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:]))