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()Reference: https://bitbucket.org/dundeemt/pysftp/src/436d3395c177bcbfd289004b2066fc8471c4d3d7/tests/test_walktree.py?at=default
Friday 5 September 2014
Recursively Fetch File Paths from FTP
Get all file paths from a given root path, output in a text file.
Labels:
Python
Subscribe to:
Post Comments (Atom)
Thanks, great example code.
ReplyDeleteThe call to sftp.close() is not necessary as the connection is closed automatically at the end of the with-block.
Thanks bro. Really great example code. It gave me a lot of insight
ReplyDelete