Python:删除超过X天的文件

时间:2016-10-08 15:32:29

标签: python ftp

我有这个脚本从服务器目录中删除所有图像:

import ftplib
ftp = ftplib.FTP("server", "user", "pass")
files = ftp.dir('/')
ftp.cwd("/html/folder/")

filematch = '*.jpg'
target_dir = '/html/folder'
import os

for filename in ftp.nlst(filematch):
ftp.delete(filename)

有关如何为文件添加“三天以上”的过滤器的建议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

在python 3.3+中添加了mlsd命令支持,它允许您获取facts以及列出目录。

所以你的代码应该是这样的:

filematch = '.jpg'
target_dir = '/html/folder'
import os

for filename, create, modify in ftp.mlsd(target_dir, facts=['create', 'modify']):
    if filename.endswith(file_match) and create > older_date:
        ftp.delete(filename)

请注意,每个服务器都不支持mlsd命令。

此处提供更多信息:

https://docs.python.org/3/library/ftplib.html

https://tools.ietf.org/html/rfc3659.html

相关问题