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 continue语句用法实例
Mar 11 Python
python读取html中指定元素生成excle文件示例
Apr 03 Python
python读取json文件并将数据插入到mongodb的方法
Mar 23 Python
Python代码实现KNN算法
Dec 20 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
python全栈要学什么 python全栈学习路线
Jun 28 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
django xadmin 管理器常用显示设置方式
Mar 11 Python
python初步实现word2vec操作
Jun 09 Python
python读取excel数据并且画图的实现示例
Feb 08 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
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
php 数组元素快速去重
2017/05/05 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
tagName的使用,留一笔
2006/06/26 Javascript
理解JavaScript中的事件
2006/09/23 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
JavaScript 基本概念
2015/01/20 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
python的pstuil模块使用方法总结
2019/07/26 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
numpy 声明空数组详解
2019/12/05 Python
python绘制封闭多边形教程
2020/02/18 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
进程的查看和调度分别使用什么命令
2013/12/14 面试题
销售业务实习自我鉴定
2013/09/23 职场文书
个人自我剖析材料
2014/09/30 职场文书
治庸问责工作总结
2015/08/11 职场文书
团支部书记竞选稿
2015/11/21 职场文书
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle