我有一个文件夹列表。我遍历每个文件夹,读取文件名并从中提取日期,格式为21Mar15。接下来,我将日期转换为字符串或对象形式的2015-03。我想找出哪个是最新的文件,或者更确切地说是把每个文件夹的最新日期放入一个变量中。我陷得很深。请帮忙。 我的代码是这样的:
folders = []
folders = ftp.nlst()
folders = map(str, folders)
folders.sort()
new_batches = [folder for folder in folders]
#gets a list of folders in the ftp
def folder_num(folder):
ftp.cwd(folder)
x=[]
x=ftp.nlst()
return x
folder_list = len(folder)
for batches in new_batches:
y=folder_num(batches)
if batches == "ABCD":
for b in y:
if (len(b)== 19):
#print b[8:15]
date = datetime.datetime.strptime(b[8:15], '%d%b%y').date().strftime('%Y-%m')
print b + " "+ date
else:
#print b[9:16]
date = datetime.datetime.strptime(b[9:16], '%d%b%y').date().strftime('%Y-%m')
print b +" " + date
ftp.cwd("//")
elif batches == "EFGH":
for b in y:
if (len(b)== 19):
#print b[8:15]
date = datetime.datetime.strptime(b[8:15], '%d%b%y').date().strftime('%Y-%m')
print b +" " + date
else:
#print b[19:26]
date = datetime.datetime.strptime(b[19:26], '%d%b%y').date().strftime('%Y-%m')
print b +" " + date
ftp.cwd("//")
输出如下:
ABCD
abcd23Mar15 2015-03
abcd130Apr15 2015-04
EFGH
efgc12Apr15 2015-04
efgh115Feb15 2015-02
我需要一个
var1_for_ABCD = 2015-04
var2_for_EFGH = 2015-04
或者,请帮我计算每个文件夹的最新日期。你知道吗
请帮忙。 提前谢谢
您临时创建的
datetime
对象和从中构建的YYYY-MM
字符串都与<
相当。您只需将每个日期与迄今为止看到的最大值进行比较即可找到最大值:相关问题 更多 >
编程相关推荐