一、发送邮件
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