模块
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()