一、模块的原理
1.模块(module):一个python文件就是一个模块,里面定义了各种变量,函数,类。
2.模块有3个来源:
a、自己写的模块
b、标准模块, os time random hashlib
c、第三方模块 pymysql xlwt 等
3.import模块的实质 : 就是把这个python文件执行了一遍
4. 查找模块的顺序
a、导入模块的时候首先从当前目录下找
b、如果当前目录下没有,就是去python的环境变量里面找
注:
if __name__ == '__main__': 的用法和区别: 用在本模块中,调试时,会调用 __name__ == '__main__'中的方法,但如果是用import 中导入的,则不会执行__name__ == '__main__'中的方法
如:a.py和b.py 内容如下:
运行a.py 模块 ,执行结果为:
运行b.py 模块,执行结果为:
二、 读excel
python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。
首先需要import xlrd
sheet.row_values(0) # 某一行的数据
sheet.col_values(0) # 某一列的数据
sheet.cell(0,0).value # 某个单元格的数据
sheet.nrows( ) # 总共有多少行
sheet.ncols( ) # 总共有多少列
格式如下:
import xlrd
book = xlrd.open_workbook('CJ_test.xls')
sheet = book.sheet_by_index(0)
print(sheet.row_values(0))#某一行的数据
print(sheet.col_values(0))#某一列的数据
print(sheet.cell(0,0).value)#某个单元格的数据
print(sheet.cell(1,2).value)#某个单元格的数据
print(sheet.nrows) #总共有多少行
print(sheet.ncols) #总共有多少列
三、修改excel
修改excel 表格,必须要copy 一份出来
例如:
import xlrd
from xlutils import copy
book = xlrd.open_workbook('students.xls')
sheet0 = book.sheet_by_index(0)
new_book = copy.copy(book) # 先copy一份excel表格再修改
sheet = new_book.get_sheet(0)
sheet.write(0,6,'年龄阶段')
for i in range(1,sheet0.nrows):
age = sheet0.row_values(i)[3]
if age < 18:
word ='未成年'
elif 18 <= age <= 30:
word = '年轻'
else:
word = '中年人'
sheet.write(i,6,word)
new_book.save('students.xls')
四、写日志
这个模块,用的是我们老师自己写的模块,再环境中要安装 nnlog, 语句是:pip install nnlog
import nnlog
log = nnlog.Logger('test.log',level='error',backCount=5,when='S')
# D H M S
log.debug('返回结果...')#一些调试信息,看变量值这些
log.info('info...') #一些提示信息
log.warning('waring')#出警告了
log.error('error...')#出错的时候打印的
五、发邮件
安装yagmail 模块,安装语句是:pip install yagmail
步骤是:
1.邮箱的账号密码、用的是什么邮箱、163/腾讯/sina
2.给谁发邮件、抄送给谁
3.邮件的主题、邮件的正文、附件
例如:
六、操作 redis 模块
安装redis 模块,安装语句是:pip install redis
1.先导入redis 模块,用 import redis
2.连接redis redis.Redis(host= host,password= passwd,db=15,decode_responses=True),
decode_responses =True,是返回的bytes类型了,就是字符串类型
3.r.set('yang','126fgfg',20) 设置数据,后面的20 是过期时间
4.r.get('yang').decode() 根据设置的键yang,获取值, decode() 把字符类型变成字符串
5. r.delete('yang') 删除指定的key
6.r.flushdb() 清除当前数据库的所有key
7. r.flushall() 清除所有数据库的所有key
8. r.keys() 获取当前数据库里面有那些key
例如:
七、request模块
安装requests 模块,安装语句是:pip install request
1、先导入redis 模块,用 import request
2、print(req.json()) 字典
3、print(req.text) 字符串
例如:
url='https://aliimg.changba.com/cache/photo/18189396_640_640.jpg'
req = requests.get(url)
with open('aqmm.jpg','wb') as fw:
fw.write(req.content)