ftp and python
Tim Chase
python.list at tim.thechases.com
Thu Apr 8 09:49:23 EDT 2010
Simon wrote:
> You could user FTP.voidcmd()
> E.G.
> ftp.voidcmd('RNFT filename.txt')ftp.voidcmd('RNTO newdir/filename.txt')
>>From the rfc:
>
> RENAME FROM (RNFR)
>
> This command specifies the old pathname of the file which is
> to be renamed. This command must be immediately followed by
> a "rename to" command specifying the new file pathname.
>
> RENAME TO (RNTO)
>
> This command specifies the new pathname of the file
> specified in the immediately preceding "rename from"
> command. Together the two commands cause a file to be
> renamed.
As mentioned in my original reply, that should be what
ftplib.FTP.rename() does under the covers[1]. However, the OP
was asking about copying a file, not renaming a file.
John mentioned the poorly-supported "server-to-server copy", but
from my understanding, I think that still slurps locally and then
pushes it back up elsewhere.
-tkc
[1]
taken from ftplib.py:
def rename(self, fromname, toname):
'''Rename a file.'''
resp = self.sendcmd('RNFR ' + fromname)
if resp[0] != '3':
raise error_reply, resp
return self.voidcmd('RNTO ' + toname)
More information about the Python-list
mailing list