将 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
我得到了一个代码,可以从 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