FTPlib
Fredrik Lundh
fredrik at pythonware.com
Mon Feb 13 13:33:15 EST 2006
Harlin Seritt wrote:
> Using ftplib from Python I am trying to get all files in a particular
> directory using ftplib and then send those same files to another ftp
> server. I have tried using commands like 'get *' and 'mget *' with no
> success.
>
> I am using the following:
>
> srcFtp = FTP(srcHost)
> srcFtp.login(srcUser, srcPass)
> srcDir = srcFtp.nlst('.')
> for file in srcDir:
> print file[2:]
> srcFtp.transfercmd('get '+file[2:])
>
> I've verified that I do have a connection with the ftp server and the
> files as 'file[2:]' are indeed the file names.
>
> Anyone know why I get the following error?
>
> podcast-1.mp3
> Traceback (most recent call last):
> File "podsync.py", line 17, in ?
> srcFtp.transfercmd('get '+file[2:])
> File "C:\Python24\lib\ftplib.py", line 345, in transfercmd
> return self.ntransfercmd(cmd, rest)[0]
> File "C:\Python24\lib\ftplib.py", line 327, in ntransfercmd
> resp = self.sendcmd(cmd)
> File "C:\Python24\lib\ftplib.py", line 241, in sendcmd
> return self.getresp()
> File "C:\Python24\lib\ftplib.py", line 216, in getresp
> raise error_perm, resp
> ftplib.error_perm: 500 Syntax error, command unrecognized.
ftplib works with FTP protocol commands, not ftp client commands (such
as get and mget).
to read data from a remote server, you can use something like:
dst = open(localfile, "wb")
srcFtp.retrbinary("RETR " + file[2:], dst.write)
dst.close()
for more examples, see
http://effbot.org/librarybook/ftplib.htm
for an extensive description of FTP-as-deployed, see daniel bernstein's
site:
http://cr.yp.to/ftp.html
hope this helps!
</F>
More information about the Python-list
mailing list