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实现文件名批量替换和内容替换
Mar 20 Python
Python 装饰器深入理解
Mar 16 Python
Python获取当前路径实现代码
May 08 Python
Python实现运行其他程序的四种方式实例分析
Aug 17 Python
python实现监控某个服务 服务崩溃即发送邮件报告
Jun 21 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
django实现用户注册实例讲解
Oct 30 Python
python实现while循环打印星星的四种形状
Nov 23 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
Jan 03 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
用Python生成会跳舞的美女
Jan 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
实用函数7
2007/11/08 PHP
php htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
删除重复数据的算法
2006/11/23 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
Python与shell的3种交互方式介绍
2015/04/11 Python
Python实现身份证号码解析
2015/09/01 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
Python 硬币兑换问题
2019/07/29 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
numpy库reshape用法详解
2020/04/19 Python
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
德国机车企业:FC-Moto
2017/10/27 全球购物
2014年学生会干事工作总结
2014/11/07 职场文书
死亡赔偿协议书
2015/01/28 职场文书
教学质量月活动总结
2015/05/11 职场文书
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
Python实现聚类K-means算法详解
2022/07/15 Python