python下pexpect模块使用方法

Expect程序主要用于人机对话的模拟,就是那种系统提问,人来回答yes/no,或者账号登录输入用户名和密码等等的情况。因为这种情况特别多而且繁琐,所以很多语言都有各种自己的实现。最初的第一个Expect是由TCL语言实现的,所以后来的Expect都大致参考了最初的用法和流程,整体来说大致的流程包括:运行程序程序要求人的判断和输入Expect通过关键字匹配根据关键字向程序发送符合的字符串pexpect是Python语言的类Expect实现。从我的角度来看,它在功能上与TCL语言的实现还是有一些差距,比如没有buffer_...

阅读全文

python3中super函数的使用方法

super()函数是用于调用父类(超类)的一个方法。super()是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了,可通过使用super来实现,比如#!/usr/bin/python3#coding:utf-8class Base:    def&nb...

阅读全文

python修改excel的方法

之前有写过python读取excel和写入excel的方法,可以查看我之前的笔记xlwt模块操作excelhttps://sulao.cn/post/607.htmlxlrd模块读取excelhttps://sulao.cn/post/606.html这里再把修改excel的方法再做一遍笔记需要先pip安装xlutils模块pipinstall xlutils然后具体代码是这样的#!/usr/bin/python3#coding:utf-8from xlutils.copy import copy...

阅读全文

pytest登陆接口的测试用例

经过昨天学习,终于找到一点热情,我们今天继续学习下pytest,顺便来写一个简单的登录接口测试用例通过编写登录函数测试发现报以下错误经过百度查资料发现,使用pytest测试的单元,如果函数有参数需要使用专门的装饰器@pytest.mark.parametrize来传参好吧,我们接着来看书写的测试代码,基本是这样的#!/usr/bin/python3#coding: utf-8#test_login.pyimport requestsimport hashlibimport jsonimpor...

阅读全文

python自动化测试框架pytest基础入门教程

pytest是一个方便创建简单、可扩展性测试用例的框架。测试用例清晰、易读而无需大量的繁琐代码。你几分钟内便可针对你的应用程序或库开展一个小型单元测试或者复杂功能测试pytest测试用例规则主要有以下要求1.测试文件的文件名必须以”test_”开头,或者以”_test”结尾2.测试类命名必须以”Test”开头3.测试函数名必须以”test”开头4.测试类里面不能使用”__init__”方法首先我们学习下基本用法,先进行安装pip install pytest安装完以后查看版本信息pytest --version我们先来写一...

阅读全文

python脚本加密的常用方式

在项目中有时不想别人看到我们写的python脚本内容,这时候我们需要将我们的python脚本进行加密,其实是不像让别人看到我写的代码太LOW了,(*^_^*)python脚本加密常用的有两种方式,一种是将文件.py文件转换为.pyc文件,但是这种加密方式可以被反编译,骗骗小白还是可以的,另一种方式则是使用cython将我们的脚本转换为.so文件我的测试代码很简单func.py文件,存放在test_func目录下#!/usr/bin/python3#coding:utf-8def test(name):  &n...

阅读全文

python使用pykafka操作kafka

Kafka是一种分布式的、分区的、多副本的基于发布/订阅的消息系统。它是通过zookeeper进行协调,常见可以用于web/nginx日志、访问日志、消息服务等。主要应用场景为:日志收集系统和消息系统。Kafka的主要设计目标如下:1.以时间复杂度为O(1)的方式提供持久化能力,即使对TB级别以上的数据也能保证常数时间的访问性能。2.高吞吐率,即使在十分廉价的机器上也能实现单机支持每秒100K条消息的传输。3.支持KafkaServer(即Kafka集群的服务器)间的消息分区,及分布式消费,同时保证每个parti...

阅读全文

python-daemon实现后台守护进程

我们可以使用很多种方式让python脚本再后台运行,其中最简单的方式是使用linux下的nohup命令1.nohup命令nohup python test.py &这样test.py脚本就脱离了当前终端的控制,我们如果可以使用ps命令查找进程并关闭2.tmux终端tmux是一个提供后台终端窗口的会话服务,我们只需要开启tmux,然后再tmux窗口中运行脚本,然后退出tmux即可3.python-daemon模块这个模块可以使我们的脚本变为后台守护进程,这个模块需要安装pip install pyt...

阅读全文

flask基于celery实现的异步任务

Celery是一个异步任务队列。你可以使用它在你的应用上下文之外执行任务。总的想法就是你的应用程序可能需要执行任何消耗资源的任务都可以交给任务队列,让你的应用程序自由和快速地响应客户端请求。使用Celery运行后台任务并不像在线程中这样做那么简单。但是好处多多,Celery具有分布式架构,使你的应用易于扩展。一个Celery安装有三个核心组件:Celery客户端:用于发布后台作业。当与Flask一起工作的时候,客户端与Flask应用一起运行。Celeryworkers:这些是运行后台作业的进程。Celery支持本地和远程的...

阅读全文

python3按时间生成日志

之前写过一个“Flask配置logger模块日志生成到日期生成的文件”这个笔记,这里其实和那个差不多,可以看我之前的笔记https://sulao.cn/post/660.html主要还是使用logging模块,主要是一下方法import loggingimport timeimport os#创建loggerlogger = logging.getLogger()#定义日志目录和名字log_dir_name = "logs"log_...

阅读全文