我知道如何设置下载这样的文件,但大多数文件都没有命名为 file-LATEST。我怎样才能下载最新的文件?
通过:
- 修改日期
- 时间戳
-
if version.current < version.new then download
这是我目前所拥有的:
#!/usr/bin/env python
import ftplib
import os
import socket
HOST = 'ftp.site.org'
DIRN = 'dir/'
FILE = 'filename-LATEST.tar.gz'
def main():
try:
f = ftplib.FTP(HOST)
except (socket.error, socket.gaierror), e:
print 'ERROR: cannot reach "%s"' % HOST
return
print '*** Connected to host "%s"' % HOST
try:
f.login()
except ftplib.error_perm:
print 'ERROR:: cannot login anonymously'
f.quit()
return
print '*** Logged in as "anonymous"'
try:
f.cwd(DIRN)
except ftplib.error_perm:
print 'ERROR: cannot CD to "%s"' % DIRN
f.quit()
return
print '*** Changed to "%s" folder' % DIRN
try:
f.retrbinary('RETR %s' % FILE, open(FILE, 'wb').write)
except ftplib.error_perm:
print 'ERROR: cannot read file "%s"' % FILE
os.unlink(FILE)
else:
print '*** Downloaded "%s" to CWD' % FILE
f.quit()
return
if __name__ == '__main__':
main()
请您参考如下方法:
你必须像 ftplib 的文档那样执行 ftp.retrlines('LIST',callback) 并解析结果
