发布时间:2019-08-26 07:20:06编辑:auto阅读(1499)
公司正好有个需求,定期从远端ftp下载指定昨天的数据,写了2个函数,一个是连接远端ftp,另一个是定期下载远端数据,用到了ftplib、datetime和正则re三个模块
1.ftplib:连接和下载ftp数据
2.datetime:指定下载日期--每天的前一天
3.re,过滤掉其他日期的数据
以下是代码:
#coding=utf-8 #!/usr/bin/env python from ftplib import FTP import datetime import re def ftpconnect(): ftp_server = 'IP' username = '账号' password = '密码' ftp = FTP() ftp.connect(ftp_server,21) ftp.login(username,password) print ftp.getwelcome() return ftp def downloadfile(): #格式化取到昨天的日期 d = (datetime.datetime.now() - datetime.timedelta(days=1)).strftime('%Y%m%d') remotepath = '/bssdata1/interface/yw_files/bak/' #调用ftp连接函数 ftp = ftpconnect() bufsize = 1024 ftp.cwd(remotepath) list = ftp.nlst() for name in list: #正则过滤掉其他日期 L = re.match(d,name) if L: path = '/data/download/' + name f = open(path,'wb') filename = 'RETR '+name ftp.retrbinary(filename,f.write,bufsize) f.close() ftp.quit() downloadfile()
上一篇: Python除法运算和幂运算代码实例
下一篇: 工位上的Python——一倒霉的sub-
47999
46613
37561
34917
29479
26129
25082
20108
19736
18208
5919°
6574°
6082°
6083°
7195°
6025°
6112°
6585°
6552°
7936°