我需要在FTP目录中通过通配符查找文件,并且目录中的文件具有相同的名称部分(为此部分名称指定了掩码),并且需要在以后的修改日期找到该文件。 示例:在目录中有文件:AAA1,AAA2,AAA3,BBB1,BBB2。寻找掩码* AAA和BBB *文件以及AAAx BBBx以后的日期修改。
结果是:
dir_source = ftp.nlst()
masks = ["*.txt", "*.log"]
def listFiles(files, masks):
findFiles = []
parrent = re.compile("|".join(map(fnmatch.translate, masks)), re.I).match
for filename in filter(parrent, files):
d = {filename: int((ftp.sendcmd('MDTM ' + filename))[4:])}
print d
findFiles.append(max(d, key=lambda i: d[i]))
return findFiles
print listFiles(dir_source, masks)
但它不起作用......如何更改功能?
答案 0 :(得分:0)
它的工作!
def listFiles(files, masks):
findFiles = []
for x in masks:
parrent = re.compile(fnmatch.translate(x)).match
d = {filename: ((ftp.sendcmd('MDTM ' + filename))[4:]) for filename in filter(parrent, files)}
print d
findFiles.append(max(d, key=lambda i: d[i]))
return findFiles
也许有人会提出更好的建议?