测试自动化学习7

python读取Excel

import xlrdbook = xlrd.open_workbook('my_user-bak.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)  # 总共多少列print('----')
for i in range(sheet.nrows):  # 打印所有行print(sheet.row_values(i))

 

python修改Excel内容

import  xlrd
from xlutils import copy"""
1.用xlrd模块打开Excel
2.用xlutils模块里面的copy复制一份
3.获取到sheet页
4.修改
"""book = xlrd.open_workbook('students.xls')
new_book = copy.copy(book)
sheet = new_book.get_sheet(0)
sheetr = book.sheet_by_index(0)
sheet.write(0,6,'年龄阶段')for i in range(1, sheetr.nrows):if sheetr.cell(i,3).value < 18:sheet.write(i, 6, '骚年')elif 18 <= sheetr.cell(i,3).value < 30:sheet.write(i, 6, '成年人开车')else:sheet.write(i, 6, '老当益壮')new_book.save('students.xls')

 

python发邮件

import yagmailuser = 'xxx@qq.com'
passwd = 'xxxxx'  # 在系统账户设置开启授权码访问,不可直接使用qq密码登录
smtp_host = 'smtp.qq.com'mail = yagmail.SMTP(user=user,password=passwd,host=smtp_host,smtp_ssl=True)  # 连上邮箱
mail.send(to='@qq.com',cc='xxxaa@qq.com',subject='好好睡',contents='多吃多吃',attachments=['test.py', '写日志.py'])  # 多个人传入list

 

操作Redis,可以使用rdm图形软件操作辅助观察,也可以直接用python操作

import redishost = '127.0.0.1'
passwd = 'xxxxx'r = redis.Redis(host=host, password=passwd, db=15, decode_responses=True)  # 选择第几个db,一般0-15
# decode_responses=True,返回的就不是bytes类型了,就是字符串了# string类型
# r.set('session_id_dd','s1243sdfsdfs') #新增和修改
#
# result = r.get('session_id_')
# # r.delete('session_id_dd') #删除指定的key
# # r.flushdb() #清除当前数据库里面所有的key
# # r.flushall() #清除所有数据库里面的所有key
# print(r.keys())#获取到当前数据库里面有哪些key
# print(result)# print(result.decode()) #decode是把bytes类型变成字符串# 写一个不存在的key,会怎样# hash类型# print(r.hget('szz_stu','dsk'))print(r.hset('szz_stu', 'gxn', 'sdfsdfsfsf'))
# r.hdel('szz_stu','gxn')
r.hmset('szz_stu', {"ldd": 'dsk', 'cwl': 'brf'})  # 批量往hash类型里面set数据# r.hset('szz_stu','gxn','{"money":11111,"session_id":"xxxxxxx"}')
print(r.hgetall('szz_stu'))
print(r.type('szz_stu'))# 把a的数据,全部迁移到b上面# 1、连上aredis和bredis
# 2、从aredis里面获取到所有的key [ ]
# 3、判断key的类型,如果是string类型,用get获取数据,set到新的bredis里面# 迁移redis
host = '127.0.0.1'
passwd = 'xxx'r = redis.Redis(host=host, password=passwd, db=15, decode_responses=True)  # 0-15
r2 = redis.Redis(host=host, password=passwd, db=15, decode_responses=True, port=6378)  # 0-15
for k in r.keys():if r.type(k) == 'string':value = r.get(k)r2.set(k, value)elif r.type(k) == 'hash':value = r.hgetall(k)  # 首先获取到hashkey里面的所有数据r2.hmset(k, value)  # 然后把所有的数据set进去
# 管道# p = r.pipeline() #新建了一个管道,操作比较多的时候用管道
# p.set('abc','aa')
# p.get('xx')
# p.hget('xxx')
# p.execute() #执行

 

nnlog写日志模块

import nnloglog = 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...')  # 出错的时候打印的# log.surprise()

 

request模块调用接口,可以实现get、post、下载等

import requests# url = 'http://api.nnzhp.cn/api/user/stu_info'
# d = {'stu_name':'矿泉水2'}
#
# result = requests.get(url, d)
# print(result.json())  # 结果转成字典
# print(result.text)  # 结果转成字符串方便写入文件# url = 'http://api.nnzhp.cn/api/user/login'
# data = {'username':'niuhanyang', 'passwd':'aA123456'}
# req = requests.post(url, data)
# print(req.json())

url = 'http://api.nnzhp.cn/api/user/gold_add'
data = {'stu_id': 2, 'gold': 1111}
# cookie = {'niuhanyang':'b500d8a2f545102c8afa85135224149c'}
cookie2 = {'cookie': 'niuhanyang=b500d8a2f545102c8afa85135224149c'}  # 这种方式抓包到数据可以直接粘贴,不用转k-v
r = requests.post(url, data, headers=cookie2)
print(r.text)#入参是json的
# data = {
#     "name": "矿泉水33333",
#     "grade": "双子座",
#     "phone": "12123624321",
#     "sex": "未知",
#     "addr": "天通苑",
#     "age": 38
# }
#
# url = 'http://api.nnzhp.cn/api/user/add_stu'
# req = requests.post(url,json=data)
# print(req.text)# url='http://api.nnzhp.cn/api/file/file_upload'
# data = {'file':open('上周作业.py','rb')}
# req = requests.post(url,files=data)
# print(req.text)# url = 'http://aliuwmp3.changba.com/userdata/userwork/12107482.mp3'
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)

 

模块
1、一个python文件就是一个模块。
2、
1、自己写的
2、标准模块,os time random hashlib
3、第三方模块 pymysql xlwt

1、import模块的实质就是把这个python文件执行了一遍(调试模块代码时,写在 if __name__ == '__main__': 下面的调试执行代码,在import的时候不会被执行)
   2、查找模块的顺序
1、导入模块的时候首先从当前目录下找
2、如果当前目录下没有,就是去python的环境变量里面找


Mac OX 设置pip国内镜像,下载速度超快
$ vim ~/.pip/pip.conf[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

 

 

转载于:https://www.cnblogs.com/fatenet/p/10879092.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

The credentials you provided during SQL Server 2008 install are invalid

在安装sql server的时候遇到了这个问题&#xff0c; - The credentials you provided for the SQL Server Agent service are invalid. To continue, provide a valid account and password for the SQL Server Agent service.- The specified credentials for the SQL Server …

2010全面兼容IE6/IE7/IE8/FF的CSS HACK写法

这个帖子总结的很好。http://www.aa25.cn/web_w3c/868.shtml转载于:https://www.cnblogs.com/dqg0312/archive/2011/08/03/2126050.html

jsp 连接MS server 数据库的例子

先要把JBCD引擎加到工程里面来&#xff01; <% page import"java.lang.*, java.io.*, java.sql.*, java.util.*" contentType"text/html;charsetgb2312" %> <html> <body> <% Class.forName("com.microsoft.sqlserver.jdbc.SQLS…

HttpClient中转上传文件

原文&#xff1a;https://www.cnblogs.com/lyxy/p/5629151.html 场景&#xff1a;客户端(浏览器)A---->选择文件上传---->服务器B---->中转文件---->服务器C---->返回结果---->服务器B---->客户端A 有时候在项目中需要把上传的文件中转到第三方服务器&…

sublime text 2快捷键总结

为什么80%的码农都做不了架构师&#xff1f;>>> 以mac系统为例 一&#xff1a;编辑&#xff08;我们使用一个编辑器最频繁的事情就是编辑了。&#xff09; &#xff08;1&#xff09;基本操作&#xff1a; 【1】CommandA:全选 【2】CommandC:复制 【3】Comman…

Unix环境高级编程学习笔记(五)

第七章 进程环境1、main函数&#xff1a;int main(int argc, char *argv[]) 2、进程中止&#xff1a;正常中止&#xff1a;(1)从main返回;(2)调用exit;(3)调用_exit或_Exit;(4)最后一个线程从启动例程返回;(5)最后一个线程调用pthread_exit; 异常中止&#xff1a;(6)调用abort;…

Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!

Spring Boot 官网在 2019/03/15 这天发布了 Spring Boot 2.1.5 正式版&#xff0c;栈长表示真跟不上了。。 官宣如下 &#xff1a; https://spring.io/blog/2019/05/15/spring-boot-2-1-5-released 仓库也已经跟上&#xff1a; 那这个版本有什么新功能&#xff1f; 1、增加了 S…

linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9

linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9 参考&#xff1a;http://blog.sina.com.cn/s/blog_5688414b0100bhr9.html ------------------------------------------------------------------------------------------- 1、检测 安装之前先检测是否这些软件…

Console-算法[for,if]-有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数...

ylbtech-Arithmetic:Console-算法[for,if]-有5个人坐在一起&#xff0c;问第五个人多少岁&#xff1f;他说比第4个人大2岁。问第4个人岁数1.A&#xff0c;Demo(案例)【程序28】 题目&#xff1a;有5个人坐在一起&#xff0c;问第五个人多少岁&#xff1f;他说比第4个人大2岁。问…

gunicorn 几种 worker class 性能测试比较

Gunicorn, 一个支持WSGI协议的web服务器 Flask, 一个轻量级的python web框架 Gunicorn目前自带支持几种工作方式:sync (默认值) eventlet gevent tornado 测试环境准备 python 2.7 redis-server 2.8.4 压力测试工具ab 代码及相关python包准备 创建虚一个新的虚拟环境并安装需要…

《孙子兵法》【作战第二】

原文&#xff1a;&#xff11;.孙子曰&#xff1a;凡用兵之法&#xff0c;驰车千驷&#xff0c;革车千乘&#xff0c;带甲十万&#xff0c;千里馈粮&#xff0c;则内外之费&#xff0c;宾客之用&#xff0c;胶漆之材&#xff0c;车甲之奉&#xff0c;日费千金&#xff0c;然后十…

linux下ftp服务器的搭建

http://www.cublog.cn/u3/93926/showart_1874130.htmlRHEL4中ftp服务器的搭建首先修改配置文件使主机获得永久ip地址# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICEeth0BOOTPROTOstaticIPADDR172.16.16.111NETMASK255.255.0.0GATEWAY172.16.16.1ONBOOTyesTYPEEthernet重…

原来MySQl就是这样工作的

一、MySQL简单介绍MySQL是当今最流行的开源数据库管理系统&#xff0c;超过10亿的下载量足可以证明这点。MySQL以其速度、高可靠性、简单易用&#xff0c;广泛应用,一些大型企业也在逐渐应用&#xff0c;如&#xff1a;Facebook、维基百科等网站。MySQL最早由瑞典的MySQL AB公司…

window 快捷键使用 + idear 编辑器使用

window 快捷键 Art tab : 应用程序切换 Win D : 桌面(当前桌面显示或隐藏) Win M : 所有程序最小化 Ctrl 空格 / Ctrl shift : 中英文切换 Ctrl W : 关闭当前窗口 Ctrl W / Ctrl f4 : 关闭大年标签或弹出的窗口 Win ↓ : 当前窗口最小化 Win ↑ : 当前窗口最大化 …

Flex builder3与eclipse整合 转载

一.首先下载安装Eclipse 3.3 解压到 D:/Program Files/eclipse 到算安装成功了. 二.下载安装Flex Builder 3.0 http://trials.adobe.com/Applications/Flex/FlexBuilder/3/FB3_WWEJ_Plugin.exe1. 指定 Flex Builder 3.0 安装路径为D:/Program Files/eclipse/Flex Builder,进下一…

Jackson动态处理返回字段

有时候业务需要动态返回字段&#xff0c;比如&#xff0c; 场景一&#xff1a;返回 name , birthday, createDate 场景二&#xff1a;返回name, birthday, age 现做个备忘录&#xff0c;以便参考。 下面是引入的POM <dependency> <groupId>com.fasterxml.jackso…

技术规划应该写成什么样?

最近总是接触到规划文档的评审。有自己写的&#xff0c;也有看别人写的&#xff0c;还有帮人出谋划策的。 这些规划的题目大概如:公司的未来语言规划、公共资源管理规划、工业化开发规划等等。但凡规划&#xff0c;大概是一件事&#xff0c;要预先考虑到3年&#xff0c;甚至5年…

jBPM4工作流开发实战 之 第五部分 其他知识

jBPM的异步执行介绍jBPM对于所有的流程执行操作默认都是同步的。也就是说&#xff0c;默认是一个活动执行完成后&#xff0c;再执行另一个活动。 如&#xff0c;Task1->Java1->Java2->Task2&#xff0c;在同步的状态下执行&#xff0c;即使Java1活动要耗时一个小时&am…

Java生成二进制文件与Postman以二进制流的形式发送请求

业务描述&#xff1a; 模拟终端&#xff08;智能家居&#xff09;发送HTTP POST请求&#xff0c;请求参数为二进制流&#xff1b;而且&#xff0c;二进制流是加密后的数据&#xff0c;因此调试分两步&#xff1a; 1、Java代码生成加密后数据&#xff0c;并保存为二进制流文件 &…

Linux下判断cpu物理个数,几核,是超线程还是多核心

原文地址&#xff1a;http://hi.baidu.com/xolee/blog/item/2bedc8b7ef2743e730add16c.html 1. 查看物理CPU的个数#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2. 查看逻辑CPU的个数#cat /proc/cpuinfo |grep "processor"|wc -l 3. 查看CPU是…