二、思路分析

  1. 我们要让程序自动识别邮箱类型。如果没建立过这种类型的文件夹,就建立,并在文件夹里建立文本文件,写入邮箱地址;已经建立过,就直接写入邮箱地址。
  2. 每个邮箱地址的结构,可以概括为“不定长字符串@邮箱类型.com”,我们要提取的内容就夹在@和.com之间,如果知道了@的索引和com前的那个.的索引,就能用切片法取出邮箱类型。
  3. 为了少占内存,我们一行一行地读取原文件,读到文件末尾就停止。

三、代码实现

import os
my_path='C:\\Users\\22768\\Desktop\\各种邮箱'
#我希望把所有邮箱类型的文件夹都建立在“各种邮箱”文件夹中
with open('C:\\Users\\22768\\Desktop\\mails.txt','r') as f:
#打开原文件
    while True:
        current_line=f.readline()
        #把读取到的一行内容赋值给变量current_line
        if current_line=='':
            break
            #当读取的内容是空字符串的时候,就代表读到文件末尾了,退出循环
        index_of_at=current_line.index('@')
        #获取@的索引
        current_email_type=current_line[index_of_at+1:-5]
        #提取邮箱类型,后面的.的索引我们就倒着数,别忘了在末尾还有一个换行符,也占一个字符
        files_list=os.listdir(my_path)
        #读取“各种邮箱”文件夹中的文件列表
        if current_email_type+'邮箱' not in files_list:
            os.mkdir(my_path+'\\'+current_email_type+'邮箱')
            #如果“各种邮箱”中还没有建立该类型邮箱的专属文件夹,就新建一个,已经有了就往下走
        with open(my_path+'\\'+current_email_type+'邮箱\\'+current_email_type+'邮箱.txt','a') as f1:
            f1.write(current_line)  
            #以'a'追加的方式打开专属文件夹中的txt文件(第一次执行这个操作时会自动建立一个txt文件)。把当前读取的这一行内容写入这个文件。
一、需求描述假设我们有一个记事本文件,里面混乱地存储着不同类型的邮箱地址,每个邮箱地址占一行。如下图所示:现在我们想把它整理一下,按照邮箱类型建立文件夹,在每个文件夹里建立一个txt文件,存储同类型的邮箱地址。如下图所示:我们的原文件中有多少种类型的邮箱,就要相应地建立多少个文件夹打开其中一个文件夹,能看到里面的txt文件文件里面是这样的二、思路分析我们要让...
Python 使用正则表达式需要使用re(regular exprssion)模块,使用正则表达式的难点就在于如何写好p=re.compile(r' 正则表达式')的内容。 下面是在 Python 使用正则表达式同时匹配 邮箱 和电话并进行简单的 分类 的代码, import re p=re.compile(r'^[\w\d]+[\d\w\_\.]+@([\d\w]+)\.([\d\w]+)(?:
首先分析emali地址的规则,以bill.gates@microsoft.com为例,可以将一个email地址分为三部分。第一部分是bill.gate,它的规则可以描述为正数个字母、数字和.的组成。第二部分为固定字符@.第三部分以microsoft.com为例,它的规则可以描述为正数个字母数字+.com。 明确了规则,正则表达式可以如下所示 r'^[\d\w\.]+@[\d\w]+\.com...
书写格式为:用户名+@+域名 如:12345为你的QQ号(用户名),qq.com是腾讯的域名,则你的 QQ邮箱 就是12345@qq.com; QQ号目前正确格式是10000(五位)至999999999(九位)之间的纯数字; QQ邮箱 默认是QQ号@qq.com。 pattern = r'[1-9]\d{4,7}@qq\.com$' # 正则表达式'.'代表匹配除换行符\n之外的任何单字符。要匹配 '.'须使用 ‘\.’。 2.新浪 邮箱 普通 邮箱 :4-16个字符,可使用英文小写、数字、下划线,下划. 打开 QQ邮箱 ——>设置——>账户——>开启服务——>开启IMAP/SMTP服务,这时按照提示信息获取授权码,记录下授权码。 2.QQ的smtp服务器是【smtp.qq.com】,端口号是465。 3.用server = smtplib.SMTP_SSL()设置 邮箱 服务器和端口。 4.server.login() 传入的是你的邮... django用redis存储session报错redis.exceptions.ResponseError: NOAUTH Authentication required的解决办法 |Spike|: 根据报错内容推断,问题出现在redis的密码上。于是我取消了redis的密码(修改redis.windows.conf文件即可) 这句话救了我,报错验证错误,我在redis命令行验证了也还是依旧报错,原来不设置密码就能解决问题,如果没看到这篇博客的话,我可能一直处在迷惑中,感谢博主 表情包 C语言只用int这一种数据类型实现用拼音念数字 CSDN-Ada助手: 多亏了你这篇博客, 解决了问题: https://ask.csdn.net/questions/8010344, 请多输出高质量博客, 帮助更多的人 如何手动添加NLTK data 先去试试嘿 表情包 Python的海龟绘图库turtle中tracer(False)和speed(0)的区别 2301_77126879: 阿里嘎多,程序猿桑