今天小编就为大家分享一篇对python读写文件去重、RE、set的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

# -*- 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的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持爱安网。

最新资讯
寺库溢价35.68%提私有化:市值蒸发超八成 联手趣店突围成效不佳

寺库溢价35.68%提私有

在中概股私有化浪潮依旧高涨的环境下,赴美上市三年多的
华南厂将出(bu)售(mai)给立讯精密?知情人士:尚未敲定

华南厂将出(bu)售(mai)给立讯精

针对媒体关于欧菲光华南厂将出(bu)售(mai)给立讯精密的消息,知情
罗永浩回应坚果暂停手机业务:坚果没了是好事

罗永浩回应坚果暂停手

罗永浩在个人微博上对坚果暂停手机业务一事作出评论,他
欧菲光被传出(bu)售(mai)华南厂 传闻当事方立讯精密称不知情

欧菲光被传出(bu)售(mai)华南厂

消息面上,当日下午,有媒体报道称,欧菲光华南厂(欧菲光广州
支付宝、微信支付会被拆分吗?监管划了两条垄断红线

支付宝、微信支付会被

央行表示,对于严重影响市场健康发展的第三方支付机构,可
蚂蚁集团保险事业群尹铭离职,曾带领做出相互宝、定损宝

蚂蚁集团保险事业群尹

1月20日,21世纪经济报道记者获悉,蚂蚁集团副总裁、蚂蚁
最新文章
在pycharm中为项目导入anacodna环境的操作方法

在pycharm中为项目导

这篇文章主要介绍了在pycharm中为项目导入anacodna环
tensorflow的ckpt及pb模型持久化方式及转化详解

tensorflow的ckpt及pb

今天小编就为大家分享一篇tensorflow的ckpt及pb模型持
PyTorch笔记之scatter()函数的使用

PyTorch笔记之scatter

这篇文章主要介绍了PyTorch笔记之scatter()函数的使用
python3实现网页版raspberry pi(树莓派)小车控制

python3实现网页版ras

这篇文章主要为大家详细介绍了python3实现网页版raspb
完美解决pycharm导入自己写的py文件爆红问题

完美解决pycharm导入

今天小编就为大家分享一篇完美解决pycharm导入自己写
pycharm内无法import已安装的模块问题解决

pycharm内无法import

今天小编就为大家分享一篇pycharm内无法import已安装