python下载文件记录黑名单的实现代码


Posted in Python onOctober 24, 2017

具体代码如下所示:

#!/usr/bin/python
# -*- coding: GBK -*-
# -*- coding: UTF-8 -*-
from ftplib import FTP
import os
import datetime
ftp_server = '127.0.0.1' # 对应ftp服务器地址
username = 'ponshine' # 用户名
password = '1qaz2wsx' # 密码
ftp_path = '/GBCC/' # ftp目录
local_path = "C:\F\python\pythonwangtest\wyjj2\\" #本地的目录
# 连接FTP
def ftpconnect():
  ftp = FTP()
  ftp.set_debuglevel(2) # 打开调试级别2,显示详细信息
  ftp.connect(ftp_server, 21) # 连接
  ftp.login(username, password) # 登录,如果匿名登录则用空串代替即可
  return ftp
# 获取当前的年月日时分秒
def getdatetime():
  i = datetime.datetime.now()
  date = ("%s%s%s%s%s%s" % (i.year, i.month, i.day, i.hour,i.minute,i.second))
  return date # 需返回才能取值
# 获取当前的年月日
def getdate():
  import datetime
  i = datetime.datetime.now()
  date = ("%s%s%s" % (i.year, i.month, i.day))
  return date # 需返回才能取值
def downloadfile(remotepath, localpath):
  ftp = ftpconnect() # 连接ftp
  print ftp.getwelcome() # 显示ftp服务器欢迎信息
  ftp_filename = ftp.nlst(remotepath) # 运用nlst()获取文件名
  print 'ftp_filename: ', ftp_filename # ftp上的文件名
  for eachfile in ftp_filename: # 循坏取文件名
    if eachfile.endswith('.AVL'):
      localpath_files = eachfile.split("/")
      localpath_file = localpath_files[len(localpath_files) - 1] # 文件名:localpath_file= GBCC_201611102155_01.AVL
      print "localpath_file--->" + localpath_file
      # 创建记录下载文件名的文件名
      writefiletext = local_path + getdate() + ".txt" # 记录下载后的文件名
      print "writefile_text--->" + writefiletext

 
      if os.path.exists(writefiletext):
        print writefiletext + "is exists"
      else:
        print writefiletext + "is not exists"
        makefile = open(writefiletext,"w+")
        makefile.close()
      files = open(writefiletext, "r") # 打开黑名单表
      print "writefiletext--->" + writefiletext
      try:
        all_the_text = files.read()
        print "all_the_text-------》" + all_the_text
        if all_the_text.__contains__(localpath_file):
          print "文件已下载,不需要重复下载"
        else:
          print "文件没有下载,现在开始下载"
          bufsize = 1024 # 设置缓冲块大小
          fp = open(localpath + localpath_file, "wb+")
          ftp.retrbinary('RETR ' + eachfile, fp.write, bufsize) # 下载文件
          fo = open(writefiletext,"ab+")
          fo.write(localpath_file + "\n") # 将每个文件名写入文件
          fo.flush() # 刷新文件
          fo.close()
          fp.flush()
      finally:
        print "结束了"
        files.close()
  ftp.set_debuglevel(0)
  ftp.close()
if __name__ == "__main__":
  downloadfile("/GBCC", "C:\F\python\pythonwangtest\wyjj2\\")

  补充:python 黑名单过滤

  需要过滤一些词语

写了下面这个函数,在blacklist 文件中添加需要过滤的词语

#过滤黑名单列表中出现的
def in_lists(str):
  str_lists=[]
  fd = open('./filter/blacklist')
  for line in fd.readlines():
    str_lists.append(line.strip())
  if str in str_lists:
    return 0
  else:
    return 1

通过 python 自带的 filter函数 调用, in_lists ,filter函数会过滤掉 bool 值为 1 的列表中的元素

 filter( in_lists , urls )

总结

以上所述是小编给大家介绍的python下载文件记录黑名单,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python发送邮件示例(支持中文邮件标题)
Feb 16 Python
Python中的闭包实例详解
Aug 29 Python
python使用正则表达式提取网页URL的方法
May 26 Python
简述Python中的进程、线程、协程
Mar 18 Python
django富文本编辑器的实现示例
Apr 10 Python
ipython和python区别详解
Jun 26 Python
python列表推导式入门学习解析
Dec 02 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
python3 字符串知识点学习笔记
Feb 08 Python
python 最简单的实现适配器设计模式的示例
Jun 30 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 #Python
Flask数据库迁移简单介绍
Oct 24 #Python
python里使用正则表达式的组嵌套实例详解
Oct 24 #Python
Scrapy的简单使用教程
Oct 24 #Python
详解python里使用正则表达式的分组命名方式
Oct 24 #Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 #Python
python爬虫之BeautifulSoup 使用select方法详解
Oct 23 #Python
You might like
discuz的php防止sql注入函数
2011/01/17 PHP
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
vue-router单页面路由
2017/06/17 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
Python性能提升之延迟初始化
2016/12/04 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
神经网络python源码分享
2017/12/15 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
安装docker-compose的两种最简方法
2019/07/30 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
python ETL工具 pyetl
2020/06/07 Python
Python连接Impala实现步骤解析
2020/08/04 Python
Django实现随机图形验证码的示例
2020/10/15 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
HTML5标签大全
2016/11/23 HTML / CSS
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
泰国网上购物:Shopee泰国
2018/09/14 全球购物
爱之链教学反思
2014/04/30 职场文书
班级心理活动总结
2014/07/04 职场文书
2014房屋登记授权委托书
2014/10/13 职场文书
建党伟业观后感
2015/06/01 职场文书
员工规章制度范本
2015/08/07 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书