對python讀寫檔案去重 RE set的使用詳解

2022-09-28 20:42:20 字數 2426 閱讀 5334

如下所示:

#程式設計客棧 -*- 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("寶寶樹已完成")

# 柚寶寶

print("柚寶寶已完成")

# 媽媽幫

elif line[2] == 'mmbang.com':

uidlist = re.findall(r'.*uid=(\d+)', line[3], re.i)

if uidlist:

bnxgzo 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的使用詳解

本文位址: /jiaoben/python/246971.html

python檔案去重 python實現檔案內容去重

python 實現檔案內容去重 有的文字檔案很大,超出了編譯器能讀取的範圍 能有 解決的 解決,寫好 可以在其他 中呼叫,更方便使用 簡單的可以分為兩種情況小檔案和大檔案,先來看小檔案去重實現。如同把大象關冰箱一樣分三步 第一步,讀取檔案每一行,並處理掉換行符 第二步,將檔案內容去重 第三步,寫到新...

python 多表去重 Python列表去重

無聊統計了下列表去重到底有多少種方法。1.集合 list set alist 如果要保持順序 import random if name main a random.randint 0,10 for i in xrange 10 b list set a b.sort key a.index 2.字...

Python之檔案自動去重

小擼了把python,這個果然是世界上最好用的語言 md5訊息摘要演算法 英語 md5 message digest algorithm 一種被廣泛使用的密碼雜湊函式,可以產生出乙個128位 16位元組 的雜湊值 hash value 用於確保資訊傳輸完整一致。md5由美國密碼學家羅納德 李維斯特 ...