发送邮件.py:
 
import smtplib
from email.mime.text import MIMEText
 
def email(receiver, title='标题', body='正文'):
    host='smtp.qq.com' #smtp.163.com
    port=465    #25
    sender='904477955@qq.com'  #davidcheng@163.com
    pwd='cvabe****yhebeab'  #QQ是帐户→POP3下用1毛短信生成的授权码,网易是登录码
 
    msg=MIMEText(body, 'html','utf8')   #正文纯文本是plain
    msg['subject']=title
    msg['from']=sender
    msg['to']=receiver
 
    s=smtplib.SMTP_SSL(host, port)  #smtplib.SMTP('smtp.163.com', 25)
    s.login(sender, pwd)
    s.sendmail(sender, receiver, msg.as_string())
 
    print('The mail %s,to %s,is sended successly.' %(title, receiver))
******************分割线******************
在同目录下的某py文件下使用:
 
from 发送邮件 import email
 
email('1398645374@qq.com','测试邮件','邮件正文正文正文正文正文')
****************************************分割线****************************************
冒泡排序:
 
t=[87, 69, 42, 25, 10]
for y in range(1,len(t)):   #取出第y大;最末大无需排序
    # 每轮内循环的结果是让最大的去了末尾,故下轮比较不需加它
    for x in range(len(t)-y):
        if t[x]>t[x+1]:
            t[x],t[x+1]=t[x+1],t[x]
    print(t)
******************分割线******************
二级排序:先以score排序,score相同的以name排序:
 
class Student:
    def __init__(self,name,score):
        self.name=name
        self.score=score
    def __str__(self):
        return '%s:%d' %(self.name,self.score)
 
L=[Student('Tim',99),Student('Bob',88),Student('Alice',99)]
L=sorted(L,key=lambda x:[x.score,x.name])
print([x.__str__() for x in L])
******************分割线******************
array=['甲','乙','丙','丁','戊'];order=list('qwert')
列表x按列表y作原序排=[array[i] for i in [sorted(order).index(o) for o in order]]
列表x按列表y作升序排=[x[0] for x in sorted(zip(array,order),key=lambda item:item[1])]
******************分割线******************
list、set、dict的快速排序:
容器内各元素的类型要相同,否则无法排序而报错。
 
from sortedcontainers import SortedList,SortedListWithKey
,SortedSet,SortedDict
 
sl=SortedList(range(int(1e5)))
 
总数=len(sl)
元素1的个数=sl.count(1)
序列里有无1234=1234 in sl
sl*=2   #各元素翻倍;如同list*2后再做升序
sl.discard(666)  #删首个,类型要一致,而.remove(value)或.pop(index)在不存在时会报错
del sl[5:20]    #按索引位置批量删除
sl.add(6)   #sl.append(6)或sl.insert(0,6)不行,须append的值≥sl[-1]或insert处的值在左右间
sl+=range(3,7)  #同sl.update(range(3,7)),自动升序了;而extend要list升序且各值≥sl[-1]
#sl[2:9]=range(10,20) #×:修改某个或某些元素时,升序的顺序不能破坏
降序=list(reversed(sl))
按索引提取个区间并降序=list(sl.islice(2,9,True))
按值提取个不包括max的区间并降序=list(sl.irange(5,50,(True,False),True))
 
自定义排序の按末位=SortedListWithKey(map(str,range(999)),lambda x:x[-1])
******************分割线******************
FirstInFirstOut的有序字典:
 
from collections import OrderedDict
 
class FIFO(OrderedDict):
    def __init__(self, capacity=3,*args,**kwargs):
        self.capacity = capacity    #写到super()句后,就报错无capacity属性
        #super(FIFO,self).__init__(*args,**kwargs)及OrderedDict.__init__(self,*args,**kwargs)
        super().__init__(*args,**kwargs)    #等同上行的两种写法
 
    def __setitem__(self, key, value):
        if key in self:
            print('delete existed key:',(key,self[key]))
            del self[key]
        elif len(self)==self.capacity:  #表面批增key,实为逐增,用>=有点画蛇添足
            front=self.popitem(last=False)
            print('delete front key:',front)
        # 如同上文的构造函数,在用到父类的同名函数时,须等到结尾才来调用
        OrderedDict.__setitem__(self,key,value)   #super().__setitem__(key,value)
 
fd=FIFO(3,{'w':7,'x':8,'y':9,'z':0})
print(fd)
fd.update([('a',1),('b',2),('c',3),('d',4),('e',5)])
print(fd)
fd.update({'f':6,'e':9})
print(fd)

发邮件、排序、FIFO的更多相关文章

  1. SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

    SQL SERVER 2008配置Database Mail –用SQL  数据库发邮件 https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql ...

  2. centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  3. Selenium 2自动化测试实战37(自动发邮件功能)

    自动发邮件功能 例如,如果想在自动化脚本运行完成之后,邮箱就可以收到最新的测试报告结果.SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到 ...

  4. # PHP - 使用PHPMailer发邮件

    PHPMailer支持多种邮件发送方式,使用起来非常简单 1.下载PHPMailer https://github.com/PHPMailer/PHPMailer,下载完成加压后, 把下边的两个文件复 ...

  5. Linux发邮件之mail命令

    一.mail命令 1.配置 vim /etc/mail.rc 文件尾增加以下内容 set from=1968089885@qq.com smtp="smtp.qq.com" set ...

  6. 测试MailUtils,作用是发邮件

    package cn.itcast.test; import java.io.IOException; import javax.mail.MessagingException; import jav ...

  7. SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享

    SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...

  8. 学习linux之用mail命令发邮件

    背景 这两天工作比较闲,网上各种冲浪(这个词暴露我的网龄了).看到一位大神的文章更闲 <>.端详一番,原来是用R语言拼接字符串后用shell命令发出去.发现shell命令既然还能直接发邮件 ...

  9. linux mail利用外部邮箱地址发邮件

    mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" xxx@xxx.xxx #第一种方法,你可以把当前shell当成编辑器来用 ...

  10. 打电话,发短信,发邮件,app跳转

    1.打电话 - (IBAction)callPhone1:(id)sender { NSURL *url = [NSURL URLWithString:@"tel://18500441739 ...

随机推荐

  1. C#编译时,提示缺少NuGet包

    A--还原Nuget包前,一定要确保你配置了该项目的包源:如果你没有那就找别人要吧. 工具-选项-Nuget包管理器-程序包源 B--配置编译时自动还原缺少的nuget包: 工具-选项-Nuget包管 ...

  2. MacDev.GarbageCollectionIsDeprecated-WhenXcodeCompileMacAppProject

    Garbage Collection is not supported 当Xcode编译Mac OSX App时报错:"Garbage Collection is not supported ...

  3. Android.ApplicationCrash

    1. 如何调试分析Android中发生的tombstone http://www.360doc.com/content/12/1017/10/7580194_241974419.shtml tombs ...

  4. BZOJ1217或洛谷2279 [HNOI2003]消防局的设立

    BZOJ原题链接 洛谷原题链接 该题有两种做法,树形\(DP\)和贪心. 先讲贪心. 先将所有点按深度从大到小排序,然后从大到小依次取出点,若已经被覆盖则跳过,否则就在它的祖父点建立消防站. 考虑如何 ...

  5. php 数组指定位置插入数据单元

      PHP array_splice() 函数 array_splice(array,offset,length,array) 参数 描述 array 必需.规定数组. offset 必需.数值.如果 ...

  6. Vim中如何使用正则进行搜索

    #set magic这句的作用在于将vim的正则打开. 这样就可以搜索了. 至于正则的相关的内容.在此抄一份.以免于下次自己还要去百度. 符号 匹配 . (dot) 任意单一字符 \d 任意一位数字 ...

  7. 担心后端代码泄露?用delphi做后端,模板扣出来,随时可以变化。

    担心后端代码泄露?用delphi做后端,模板扣出来,随时可以变化. 本项目不是intraweb, unigui等类似的拖拉项目,只是一个简单 的模板引擎,理论上可以结合任何后端. 要就下载源码,作者保 ...

  8. HashMap 、HashTable、TreeMap、WeakHashMap的区别是什么

    Java为数据结构中的映射定义了一个接口java.util.Map,它有4个实现类:HashTable.HashMap.TreeMap.WeakHashMap. HashMap和HashTable的区 ...

  9. Max Chunks To Make Sorted II LT768

    This question is the same as "Max Chunks to Make Sorted" except the integers of the given ...

  10. CRC标准以及简记式

    一.CRC标准 下表中列出了一些见于标准的CRC资料: 名称 生成多项式 简记式* 应用举例 CRC-4 x4+x+1 3 ITU G.704 CRC-8 x8+x5+x4+1 31 DS18B20 ...