将 SFTP 服务器上存在的文件的文件名存储在列表中

store file names of files present on SFTP server in list

我得到了一个代码,可以从 SFTP 服务器下载 5 天前的文件。但是我不想下载文件,而是想将 5 天前文件的名称存储到列表中。请帮我修改代码。提前致谢

我现在使用的代码(基于

import time

def get_r_portable(sftp, remotedir, localdir, preserve_mtime=False):
    for entry in sftp.listdir_attr(remotedir):
        remotepath = remotedir + "/" + entry.filename
        localpath = os.path.join(localdir, entry.filename)
        mode = entry.st_mode
        if S_ISDIR(mode):
            try:
                os.mkdir(localpath)
            except OSError:     
                pass
            get_r_portable(sftp, remotepath, localpath, preserve_mtime)
        elif S_ISREG(mode):
            if (time.time() - entry.st_mtime) // (24 * 3600) >= 5:
                sftp.get(remotepath, localpath, preserve_mtime=preserve_mtime)

我没有使用 sftp.get 下载文件,而是将它们的路径添加到列表中,并在最后返回它

import time

def get_r_portable(sftp, remotedir):
    result = []
    for entry in sftp.listdir_attr(remotedir):
        remotepath = remotedir + "/" + entry.filename
        mode = entry.st_mode
        if S_ISDIR(mode):
            result += get_r_portable(sftp, remotepath)
        elif S_ISREG(mode):
            if (time.time() - entry.st_mtime) // (24 * 3600) >= 5:
                result.append(entry.filename)
    return result