一、发送邮件

import yagmail
username = 'xxxxx@126.com' #邮箱账号
password = 'xxxxx722123456'#邮箱授权码
smtp = 'smtp.126.com'#邮箱服务器地址

mail=yagmail.SMTP(user=username,password=password,host=smtp)#连接邮箱服务器

to=['xxxx@qq.com','xxxx@qq.com']
cc='xxxx@qq.com'
subject='交作业'
content='test'
attach=[r'C:\Users\zhang\Desktop\5.jpg',r'C:\Users\zhang\Desktop\名单.xlsx']
mail.send(to=to,cc=cc,subject=subject,contents=content,attachments=attach)#发送邮件

二.模块

1、python中模块分3种:

a)一个是标准模块,就是python自带的;

b)第三方模块,要自己安装的

c)自己写的python文件,一个python文件,就是一个模块

2.导入模块实质:就是把你导入的模块运行了一遍

3.执行pyhton文件时,查找模块的顺序

a)在当前的目录下找

b)在python的环境变量里去找,导入sys模块,然后用sys.path去查看环境变量是什么

4.自己写的python文件,调试的代码,可以写在if__name__=‘__main__’中,别的文件导入我写的这个文件后,不会执行我调试的这段代码

我的代码文件:

def func(a,b):
    print(a,b)
    print('不调用不打印')
    return a+b

name='wmx'
print(name)
print('不管函数有没有被调用,这句话都会被执行')
if __name__ == '__main__':
    print(__name__)
    print('调用',func(4,5))
else:
    print(__name__)

要导入我文件的代码:

import sys
# print(sys.path)
sys.path.insert(0,r'E:\Best\Code\day1')
# print('后',sys.path)

import  selfmodel2
# print(selfmodel2.__name__)
# selfmodel2.name
# print(selfmodel2.func(2,6))

 三、MD5加密

# md5加密:加密不可逆,即无法解密,可撞库
import hashlib # 导入hashlib模块
# s = '1234'
# m = hashlib.md5(s.encode())  # 加密;s.encode表示将s转化成bytes,不能s直接加密
# result = m.hexdigest()  # 获取加密后的结果
# print(result)


# 加密函数--加盐
def md5(s, salt='$%RT88*('):  # salt为加盐(即给密码后加固定字符)
    s = str(str(s) + salt).encode()
    m = hashlib.md5(s)  # 加密
    return m.hexdigest() # 返回加密后的内容
print(md5('abc','34#$$')) # 调用加密函数

 四、操作mysql

# 操作数据库步骤:连接数据库--建立游标--执行sql--提交--关闭游标和库连接
import pymysql
conn = pymysql.connect(host='XXX.XXX.XXX.XXX',
                       port=XXXX,
                       user='XXXX',
                       password='XXXX',
                       db='XXXX',
                       charset='utf8', # 指定字符集
                       autocommit=True) # 自动提交
# port必须是数字,charset是utf8而不是utf-8,密码需是字符型,autocommit=True表示自动提交
cur = conn.cursor(pymysql.cursors.DictCursor)  # 参数表示返回值以字典形式显示
sql = "select * from table;"
sql1 = "insert into table(username, passwd, is_admin) values ('张三', '5555', '111');"
cur.execute(sql)
conn.commit()  # 修改,删除,增加类操作需要提交才能生效
# result = cur.fetchall()  # 获取执行sql后的所有的结果
result1 = cur.fetchone() # 获取执行sql后的一条结果
# cur.description  # 表各字段的描述
cur.close()
conn.close()

 五、写日志

import nnlog 

log = nnlog.Logger('test.log', level='error', backCount=3, when='S')  # test.log表示将日志生成一个文件
# level打印日志级别,backCount最多保留3个,when表示多久产生一个(D,H,M,S),默认每天产生一个日志
log.debug('debug...')  # 一些变量值信息
log.info('info...')  # 一些提示信息
log.warning('warning...') 
log.error('error...')  

 六、操作excel

#读取excel

import xlrd
book = xlrd.open_workbook('a.xlsx') # 打开一个excel
sheet = book.sheet_by_index(0) # 打开sheet页
# print(sheet.row_values(0)) # 读行数据
# print(sheet.col_values(0)) # 读列数据
# print(sheet.cell(0,0).value) # 读单元格的数据
# print(sheet.nrows) # 读总共有多少行
# print(sheet.ncols) # 读总共有多少列
# 写入excel

import xlwt 
book = xlwt.Workbook() # 新建一个excel
sheet = book.add_sheet('abc') # 给sheet起名
sheet.write(0,0,'姓名')  
sheet.write(0,1,'性别')
book.save('stu.xls')
# 修改excel
import xlrd
from xlutils import copy

book = xlrd.open_workbook('students.xls')
new_book = copy.copy(book) # 复制这个excel
sheet = new_book.get_sheet(0) # xlutils模块中的打开sheet页的方法
sheet.write(0,3,'展而') 
new_book.save('students.xls')
1

 

posted on 2019-06-23 23:29  *星  阅读(105)  评论(0编辑  收藏  举报