我试图弄清楚如何从FTP文件夹和所有子文件夹中检索元数据。我想获取文件名,文件大小和日期/时间(修改文件的日期/时间)。我在网上找到了示例代码(如下)。我输入了凭据,运行了代码,并收到以下错误:No hostkey for host ftp.barra.com found.
有快速解决方案吗?
from __future__ import print_function
import os
import time
import pysftp
ftp_username='xxx'
ftp_password='xxx'
ftp_host='xxx'
year = time.strftime("%Y")
month = time.strftime("%m")
day = time.strftime("%d")
ftp_dir = 'data/'+year+'/'+month
filename = time.strftime('ftp_file_lists.txt')
fout = open(filename, 'w')
wtcb = pysftp.WTCallbacks()
with pysftp.Connection(ftp_host, username=ftp_username, password=ftp_password) as sftp:
sftp.walktree(ftp_dir, fcallback=wtcb.file_cb, dcallback=wtcb.dir_cb, ucallback=wtcb.unk_cb)
print(len(wtcb.flist))
for fpath in wtcb.flist:
print(fpath, file=fout)
sftp.close()
这里的代码。
http://alvincjin.blogspot.com/2014/09/recursively-fetch-file-paths-from-ftp.html