模块

1、标准模块---------python自带的
2、第三方模块------pymysql
3、自己写的python文件-----一个python文件,就是一个模块

#导入模块的实质--把文件从头到尾运行一遍

#查找模块的顺序

#1、在当前目录下找
#2、在python的环境变量里面去找
main
if __name__ == '__main__':
导入这个python文件的时候不会执行if __name__ 里面代码
只在本身python文件里面执行

操作数据库

import pymysql---导入数据库
import pymysql

#ip port user password  db
conn = pymysql.connect(host='*******',user='***',
                password='&&&&',db='&&&',port=3306,
                charset='utf8',autocommit=True)#建立连接
#utf8,port是int类型,password必须写字符串
cur = conn.cursor(pymysql.cursors.DictCursor) #建立游标(相当于仓库管理员),并返回字典类型 # sql = "insert1 app_student ( `name`, `sex`, `age`, `addr`, `grade`, `phone`, `gold`) values" \ # " ( '小黑', '男', '18', '河南省济源市北海大道32号', '天蝎座', '18612539443', '100');" # sql2 = 'select * from app_student where phone="18612539443"'; sql2 = 'select * from app_student limit 4'; cur.execute(sql2)#只是帮你执行sql语句 print(cur.fetchall()) #取到所有的数据 # print(cur.fetchone()) #只取一条 # print(cur.fetchmany(10)) #取几条 cur.close()#关游标 conn.close()#关数据库连接

 安装第三方模块

  自动安装
1、pip install xxx
手动安装:itchar
1、下载.whl文件
pip install e:\\dowloads\\pymysql.whl
2、.tar.gz文件
1、解压
2、进入目录执行 python setup.py install
pymysql.tar.gz
1、pip list #列出当前装了哪些模块
2、pip freeze > 第三方模块.txt #导出当前已经安装了哪些模块
3、pip install -r 第三方模块.txt #指定文件,批量安装模块

操作Excel

import xlrd

book= xlrd.open_workbook('处女座学员名单.xlsx')
sheet1 = book.sheet_by_index(0)
sheet2 = book.sheet_by_name('作业')
print(sheet2.row_values(0))#取某一行的数值
print(sheet2.col_values(0))#取某一列的数值
print(sheet2.cell(0,0). value)#取某个单元格的内容
print(sheet2.nrows) #多少行
print(sheet2.ncols) #多少列

枚举Excel

l = ['xiaoming','xiaohei','xiaobai']

for index,value in enumerate(l,1):
    print("编号%s -> %s"%(index,value))
    #编号2 -> xiaohei
    #编号3 -> 小白

循环写入Excel

import xlwt#写
book = xlwt.Workbook()
sheet = book.add_sheet('人员名单')

l = [
    [1,'jiajiju','beijing','186232424',''], #1 2 3
    [2,'韩敏','beijing','186232424',''],
    [4,'焦丽妃','beijing','186232424',''],
]
# row = 1#行号
# for row_data in l:
#     col = 0 #列
#     for col_data in  row_data:
#         sheet.write(row,col,col_data)
#         col+=1 #每次写一列 列就加1
#     row+=1#每写一行 行号就加1

for row,row_data in enumerate(l,1):#
    for col,col_data in enumerate(row_data):
        sheet.write(row,col,col_data)


book.save('student.xls')
#保存的时候,如果你用的是微软的office,后缀就用.xls
#如果是wps .xls .xlsx

修改Excel

import xlrd
from xlutils import copy#修改
#1、打开一个excel
#2、复制一份
#3、修改

book = xlrd.open_workbook('student.xls')
new_book = copy.copy(book)#复制一份

sheet = new_book.get_sheet(0) #获取sheet页
title = ['编号','名字','地址','电话','性别']

for col,t in enumerate(title):
    sheet.write(0,col,t)

new_book.save('student.xls')

写入日志

import time
import nnlog
def write_log(content):
    with open('text.log','a+',encoding='utf-8') as fw:
        data = time.strftime('%Y-%m-%d %H:%M:%S')
        s = '%s ,内容 %s'%(data,content)
        print(s)
        fw.write(s)

log =  nnlog.Logger('test.log',level='debug',backCount=3,when='H')
log.debug('调试信息')
log.info('正常的打印信息')
log.warning('警告')
log.error('数据库连接错误!')

发送邮件

配置邮箱(163),先登录邮箱,再设置客户端授权码

import yagmail

username = '104628703@qq.com'
password = 'sdg34234' #免费的邮箱,这里用授权码,一般自己公司的,直接写邮箱密码就行了。
smtp = 'smtp.qq.com'

mail = yagmail.SMTP(user=username,password=password,host=smtp)

to = ['974219141@qq.com','511402865@qq.com','104628703@qq.com','540493450@qq.com']
cc = ['690942492@qq.com','931279527@qq.com','525586735@qq.com']

subject = '交作业'
content = '下节课交作业'
files = [r'/Users/nhy/PycharmProjects/cnz/day5/student.xlsx',
         r'/Users/nhy/PycharmProjects/cnz/day5/删除三天前的日志.py']
mail.send(to=to,cc=cc,subject=subject,contents=content,
          attachments=files)

MD5加密

import hashlib
# import md5 #python2里面

password='abc123'
print(password.encode()) #bytes
m = hashlib.md5(password.encode())
print(m.hexdigest())

# md5加密是不可逆的
#sha256
f = open('PyMySQL-0.9.3.tar.gz','rb')#打开压缩包
content = f.read()
sha = hashlib.sha256(content)

#加盐

def my_md5(content,salt='SFG@#!@#$!'):
    s = str(content) + salt
    m = hashlib.md5(s.encode())
    return m.hexdigest()