对python读写文件去重、RE、set的使用详解

yipeiwu_com6年前Python基础

如下所示:

# -*- coding:utf-8 -*-
 
from datetime import datetime
import re
 
 
def Main():
 sourcr_dir = '/data/u_lx_data/fudan/muying/muying_11yue_all.txt'
 target_dir = '/data/u_lx_data/fudan/muying/python/uid_regular_get.txt'
 
 uset = set() #去重
 
 print("开始。。。。。")
 print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
 
 with open(target_dir, 'w+') as f_write:
  with open(sourcr_dir, 'r') as f_scorce:
   for line in f_scorce:
   line = line.strip().split("\t")
   # 宝宝树
   if line[2] == 'babytree.com':
    uidList = re.findall(r'.*NL=u%02(u\d+)', line[3], re.I)
    if uidList:
     # 去重代码
     if uidList[0] not in uset:
      f_write.write(uidList[0] + "\n")
      uset.add(uidList[0])
      print("宝宝树已完成")
 
   # 柚宝宝
   elif line[2] == 'youzibuy.com':
    if line[4].find("yunqi.youzibuy.com/tae_top_notify") != -1:
     uidList = re.findall(r'.*myuid=(\d+)', line[4], re.I)
     if uidList:
      if uidList[0] not in uset:
       f_write.write(uidList[0] + "\n")
       uset.add(uidList[0])
       print("柚宝宝已完成")
 
   # 妈妈帮
   elif line[2] == 'mmbang.com':
    uidList = re.findall(r'.*uid=(\d+)', line[3], re.I)
    if uidList:
     if uidList[0] not in uset:
      f_write.write(uidList[0] + "\n")
      uset.add(uidList[0])
      print("妈妈帮已完成")
 
   # 妈妈网
   elif line[2] == 'mama.cn':
    if line[4].find("mapi.mama.cn/feed/users/show") != -1:
     uidList = re.findall(r'.*friend_uid=(\d+)', line[4], re.I)
     if uidList:
      if uidList[0] not in uset:
       f_write.write(uidList[0] + "\n")
       uset.add(uidList[0])
    if line[4].find("mamaquan/mmq_thread") != -1:
     uidList = re.findall(r'.*uid=(\d+)', line[4], re.I)
     if uidList:
      if uidList[0] not in uset:
       f_write.write(uidList[0] + "\n")
       uset.add(uidList[0])
       print("妈妈网已完成")
 
   # 育儿网
   elif line[2] == 'ci123.com':
    uidList = re.findall(r'.*ci123js=([a-zA-Z]+\d+)', line[3], re.I)
    if uidList:
     if uidList[0] not in uset:
      f_write.write(uidList[0] + "\n")
      uset.add(uidList[0])
      print("育儿网已完成")
 
 print("完成。。。。。")
 print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
if __name__ == "__main__":
 Main()

以上这篇对python读写文件去重、RE、set的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 中迭代器与生成器实例详解

Python 中迭代器与生成器实例详解

Python 中迭代器与生成器实例详解 本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下: 1.手动遍历迭代器 应用场景:想遍历...

Python深度优先算法生成迷宫

本文实例为大家分享了Python深度优先算法生成迷宫,供大家参考,具体内容如下 import random #warning: x and y confusing sx...

matplotlib.pyplot画图 图片的二进制流的获取方法

有些时候,我们需要画图后的二进制数据流,matplotlib没有提供相关的api,通过源码查看与百度,得到下面此方法 import matplotlib.pyplot as plt...

PyQtGraph在pyqt中的应用及安装过程

PyQtGraph在pyqt中的应用及安装过程

1.PyQtGraph简介: pyqtgraph的主要用途: 1、为数据、绘图、视频等提供快速、可交互图形显示。 2、提供快速开发应用的工具。 2.PyQtGraph的安装: pip i...

python分布式编程实现过程解析

分布式编程的难点在于: 1.服务器之间的通信,主节点如何了解从节点的执行进度,并在从节点之间进行负载均衡和任务调度; 2.如何让多个服务器上的进程访问同一资源的不同部分进行执行 第一部分...