14文件读取并格式化处理

Posted jiyongjia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14文件读取并格式化处理相关的知识,希望对你有一定的参考价值。

技术分享图片

案例:读取一个邮箱的文本信息,并生成新的文件信息进行保存

2018-10-23
BUG心得:在一个文件中两次打开文件不能as 为同一个名的文件对象,比如下边的14 和 36 行 分别要不同的名 file_obj 和file_obj2

 一、把如下的文件结构下的文件格式化处理为另一个文件结构保存

技术分享图片

 

#__author:"吉*佳"
#date: 2018/10/23 0023
#function:
# BUG心得:在一个文件中两次打开文件不能as 为同一个名的文件对象,比如下边的14 和 36 行 分别要不同的名 file_obj 和file_obj2


# 读取一个邮箱的文本信息,并生成新的文件信息进行保存

import os
import collections

# 处理普通文件函数
def work(filePath):
    resultDir = rE:[AAA](千)全栈学习python18-10-21day7
esultDir
    with open(filePath,r) as file_obj:
        while True:
            #读取到第一行数据 如 #[email protected]
            lineInfo = file_obj.readline()

            # 设置一个退出while循环的标志
            if len(lineInfo) < 5:
                break

            mailPsw = lineInfo.split(----)[-1]
            mailStr = lineInfo.split(----)[0]
            mailType = mailStr.split(@)[-1].split(.)[0]
            mailDetail = mailStr.split(@)[0]

            #存储为新的文件夹和文件文本操作
            newDirPath  = os.path.join(resultDir,mailType)
            # 检测没有这个文件夹的话就创建一个
            if not os.path.exists(newDirPath):
                os.mkdir(newDirPath)

            #创建完类型文件夹之后把新的文件信息存储进去
            newFilePath = os.path.join(newDirPath,mailType+.txt)
            with open(newFilePath,a) as file_obj2:
                file_obj2.write(mailDetail)
                file_obj2.write(----)
                file_obj2.write(mailPsw+
)


def getAllDirIT(path):
    queue=collections.deque()
    #进队
    queue.append(path)

    #循环,当队列为空,停止循环
    while len(queue) != 0:
        #出队数据 这里相当于找到A元素的绝对路径
        dirPath = queue.popleft()
        # 找出跟目录下的所有的子目录信息,或者是跟目录下的文件信息
        dirList = os.listdir(dirPath)

        #遍历该文件夹下的其他信息
        for filename in dirList:
            #绝对路径
            dirAbsPath = os.path.join(dirPath,filename)

            # 判断:如果是目录dir入队操作,如果不是dir打印出即可
            if os.path.isdir(dirAbsPath):
                print("目录:"+filename)
                queue.append(dirAbsPath)
            else:
                # 找到普通文件,进行处理信息。把这个普通文件的路径传递过去
                work(dirAbsPath)

# 函数的调用
getAllDirIT(rE:[AAA](千)全栈学习python18-10-21day7
ewdir)

 

结果:

技术分享图片

163邮箱处理后保存的账号密码

技术分享图片

 

 

技术分享图片

 

以上是关于14文件读取并格式化处理的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何使用 Outlook 发送代码片段?

python 读取多个csv文件中某一列,并生成一个新csv文件

java读取word内容并保留格式

java怎么读取json格式的数据

Python3 关于excel 文件格式xls之读取写入和追加

java读取excel时间格式出现数字怎么处理