[Tutor] Assigning a variable to an FTP directory listing

Steven D'Aprano steve at pearwood.info
Thu Dec 12 01:22:46 CET 2013


On Wed, Dec 11, 2013 at 03:55:50PM -0800, Pat Martin wrote:
> Hello,
> 
> I am writing a program that needs to pull all of the files from a
> specific directory. I have a few lines written that give me the list
> of files but when I try to assign it to a variable the variable ends
> up equaling "226 Directory send Ok", this is a snippet of my code.

I don't have an FTP server to test this against, but try this instead:

from ftplib import FTP
ftp = FTP(ftpserver)
ftp.login(user=username, passwd=password)
ftp.cwd(remoteworkdir)
listoffiles = []
status = ftp.retrlines('NLST', callback=listoffiles.append)
ftp.quit()
if status != "226 Directory send OK."
    # An error?
    print status
for filename in listoffiles:
    print filename



-- 
Steven


More information about the Tutor mailing list