邮箱分类存储
小编也不知道大家能不能用的到,我只是把我学到的知识分享出来,有需要的可以看一下。python本身就是一个不断更新改进的语言,不存在抄袭,有需要就可以拿过来用,在用的过程中,你发现可以用另外一种方法把它实现,就可以把代码做进一步的优化,然后分享出来,这样python会变的越来越实用。今天心情不好,再分享一个小程序就结束!
邮箱分类存储
1 #! /usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # __author__ = "Dylan" 4 5 6 ''' 新建一个txt文件存储网络爬取的邮箱账号和密码,存储方式如下(具体问题具体分析,这里只是举个例子): 7 data: 8 账号 密码 9 laphae757878@163.com----198587 10 sgdjhgawue@126.com----198587 11 eiuuweyi34@qq.com----198587 12 res: 13 126.txt: 14 sgdjhgawue 15 163.txt: 16 laphae757878 17 qq.txt: 18 eiuuweyi34 19 ''' 20 21 22 import os 23 import collections 24 25 def work(path): 26 resPath = r"存放取出数据的路径" # 如c:\python\res 27 with open(path, "r") as f: 28 while True: 29 lineInfo = f.readline() 30 if len(lineInfo) < 5: 31 break 32 emailStr = lineInfo.split("----")[0] # 邮箱@前的字段 33 fileType = emailStr.split("@")[1].split(".")[0] # 邮箱类型的目录 如c:\python\res\163 34 dirStr = os.path.join(resPath, fileType) 35 if not os.path.exists(dirStr): 36 os.mkdir(dirStr) # 不存在,就创建这个目录 37 filePath = os.path.join(dirStr, fileType + ".txt") # 为每一个邮箱类型创建一个txt文件,然后把对应的邮箱写进去 38 with open(filePath, "w") as fw: 39 fw.write(emailStr + "\n") 40 41 def getAllDirQueue(path): 42 queue = collections.deque() 43 queue.append(path) 44 while len(queue) != 0: 45 dirPath = queue.popleft() 46 fileList = os.listdir(dirPath) 47 for fileName in fileList: 48 fileAbsPath = os.path.join(dirPath, fileName) 49 if os.path.isdir(fileAbsPath): 50 queue.append(fileAbsPath) 51 else: 52 work(fileAbsPath) # 处理普通文件 53 54 getAllDirQueue(r"数据路径") # 如c:\python\data
版权声明:本文为ccmldl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。