FTP file creation date
Ron Beitel
ronb at not.here
Thu Oct 28 16:17:14 EDT 2004
Eugene,
To test for the latest version of a file on the ftpserver,
use the ftplib.sendcmd() method with the '4-character'
ftp command for modtime.
#!/usr/bin/python
import ftplib
ftp = ftplib.FTP("ftp.mysite.org")
f.login("anonymous", "my at email.com")
# MDTM is an abbreviated '4-char' ftp command
modtime = f.sendcmd("MDTM file.name")
# Strip off the 'reply code'
if modtime[:3] = "213":
modtime = modtime[3:].strip()
Refer to RFC 959 - File Transfer Protocal
http://www.faqs.org/rfcs/rfc959.html
Section4.1 lists the abbreviated ftp commands,
however, 'SIZE' and 'MDTM' are not covered in the RFC
Section4.2.1 covers the Reply Codes.
For examples on using f.sendcmd(), check the module's
source code /usr/lib/python2.2/ftplib.py
Especially, look at the definitions for
def size()
def nlst()
If you're not concerned with portability, you could modify
your systems copy of the library. Add....
def modtime(self, filename):
'''Retrieve the modtime of a file.'''
resp = self.sendcmd('MDTM ' + filename)
if resp[:3] == '213'
s = resp[3:].strip()
return s
Then in your program, you can just say
t = f.modtime("file.name")
Ron Beitel
More information about the Python-list
mailing list