- 博客(34)
- 收藏
- 关注
原创 appium安装和环境配置
**环境依赖** _jdk1.8_ 配置环境变量 JAVA_HOME 系统变量新建变量JAVA_HOME变量值指向JDK安装的文件夹 CLASSPATH 系统变量新建变量CLASSPATH 值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\too...
2020-04-18 12:05:18 788
原创 flask 模板 -- 宏
定义宏 在templates文件下新建_macros.html {% macro m_input(name, value='', type='text')%} <input type="{{ type }}" value="{{ value }}" name="{{ name }}">{% endmacro %}导入和使用{% from '_m...
2020-04-11 13:08:34 258 1
原创 flask模板 控制语句
if控制语句 if、elif、else、endiffor循环 for、else、endfor loop.index 下标从1开始 loop.index0 下标从0开始 loop.first 判断是否是第一个值,返回False、True loop.last 判断是否是最后一个值,返回False、True loop....
2020-04-11 12:11:56 346
原创 flask Debug配置、URL、Response、模板传参、模板过滤器
DEBUG模式四种模式 app.run(debug=1) app.debug=True app.config.update({DEBUG:True}) app.config.from_object(config) app.config.from_pyfile('pyfile.py')传参 string、int、float、path、uuid、an...
2020-04-11 00:33:30 199
原创 python 默认形参为可变对象
一、 什么是默认形参 在定义函数时参数=’XXX‘时,此时调用时可以不给参数赋值,如f(param='default_param'),调用时f();函数定义默认参数之后,之后的所有的形参都得是默认参数,如f(c, a='a', b='b')。二、 默认参数为可变对象如下:>>> def test(a=[]):... a.append('...
2019-10-30 16:47:22 391
原创 jenkins 配置gitlab远程仓库
一、环境需求gitlab、git、linux、jenkins一、生成本地秘钥ssh-keygen -t rsa # 生成秘钥cat ~/.ssh/id_rsa.pub # 获取公钥cat ~/.ssh/id_rsa # 获取私钥二、gitlab添加ssh-keygitlab-->setting-->ssh-key-...
2019-10-18 13:52:01 1287
原创 centos 7 部署gitlab
1、 更新yum源curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash完毕!Generating yum cache for gitlab_gitlab-ce...导入 GPG key 0xE15E78F4: 用户ID : "G...
2019-10-16 15:53:29 688
原创 linux 执行文件的四种方式
一、 创建文件vi test.txt# 按i切换insert模式# 输入文本#!/bin/bashecho "Hello world!!!"echo $$ # 打印当前进程idecho $test 二、 执行方式1、 使用source执行脚本test=100source test.txt输出:Hello world!!!37790100使用的为当...
2019-08-31 14:38:15 24780
原创 python 单例模式及实现方式
一、 单例模式单例模式(Singleton Pattern),常用的软件设计模式,当某个系统中某个类只需一个实例时,单例模式就派上用场了。例如:系统的配置文件读取,如果每次都创建实例去读取配置就会造成大量的内存消耗。二、 python实现单例模式1、 非线程安全代码如下:import timeimport threadingclass Singleton(o...
2019-07-24 11:25:08 203
原创 python 描述符@property
一、python对象属性1、正常变量对象可对变量动态赋值2、保护变量变量或方法名以_开始,需通过API设置和修改3、私有变量变量或方法名以__开始,类内部调用,子类也无法调用二、获取和设置类属性1、自定义set_attr和get_attrclass People(object): def __init__(self, name): se...
2019-04-11 11:47:40 216
原创 python __slots__
一、 __slots__作用首先看一段代码class People(object): def __init__(self): pass if __name__ == '__main__': a = People() a.score = 90 # 动态设置对象属性 print(a.score)python中可以为对象动态设置属性...
2019-04-11 10:52:48 276
原创 python 递归算法
一、递归算法三定律基本情况 改变状态向基本情况靠拢 调用本身二、通过求列表和分析递归算法代码如下:def list_sum(num_list): if len(num_list) == 0: return 0 elif len(num_list) == 1: return num_list[0] else: ...
2019-03-12 11:04:33 351
原创 python 实现无序链表
一、 链表的概念每个节点包含本身的值和指向下一个节点(对下一个节点的值的引用),如图所示:二、 python实现1、定义一个Node类:class Node(object): def __init__(self, val): self.data = val self.next = None def get_data(self...
2019-03-12 09:25:47 704
原创 python 实现队列
一、 队列的概念 队列被构造为在队尾添加项的有序集合,并且从队首移除。队列保持 FIFO 排序属性。 队列操作如下。Queue() 创建一个空的新队列。 它不需要参数,并返回一个空队列。 enqueue(item) 将新项添加到队尾。 它需要 item 作为参数,并不返回任何内容。 dequeue() 从队首移除项。它不需要参数并返回 item。 队列被修改。 isEmpty()...
2019-03-11 13:58:37 422
原创 python 乱序字符串排序
一、 什么是乱序字符串排序乱序字符串排序是指一个字符串是另一个字符串的乱序排序,比如apple就是eppal的乱序字符串。二、检查假设字符串由26个小写字符串组成。1、时间复杂度O(n^2)解决方案:判断两个字符串长度是否相等,若不相等返回False,不相等则判断第一个字符串的字符是否在第二个字符串中,如果不在,返回False,如果在则把第二个字符串中查找的位置元素置为None,...
2019-03-07 11:14:01 1979
原创 mac 安装使用jenkins
一、 安装jenkins命令行输入:未安装brew的请点击homebrew 官网链接brew install jenkins二、 启动和停止jenkins服务命令行输入:# 启动brew services start jenkins# 停止brew services stop jenkins# 重启brew services restart jenkin...
2019-03-01 15:09:20 193
原创 wsgi 建立简单的服务器及解析post请求参数
from wsgiref.simple_server import make_serverfrom urllib.parse import parse_qsfrom html import escapedef app(environ, start_response): # 定义应用 # print(environ) start_response("200 OK", ...
2019-01-21 13:23:55 2047 2
原创 python locust--HttpLocust
一、 HttpLocust简介 为了方便http请求,我们可以使用HttpLocust,该类继承Locust,具有client类属性,client发送请求时可以带上session。如下源代码可以看出client是HttpSession的实例化对象。class HttpLocust(Locust): """ Represents an HTTP...
2018-09-16 21:53:34 1931
原创 python locust--Setups, Teardowns, on_start, and on_stop
创建一个locust测试脚本,如下:from locust import HttpLocust, TaskSet, taskclass UserBehavior(TaskSet): def setup(self): print('task setup') def teardown(self): print('task teardown'...
2018-09-12 09:46:25 2793 1
原创 python locust---顺序规划者TaskSequence类
之前说的task都是随机执行的,怎么让task们守规矩呢?轮到我们TaskSequence大展身手的时候了。TaskSequence继承TaskSet,如下代码,locust启动task时将会先执行first_task 1次,之后是second_task 2次,third_task 5次。from locust import Locust, TaskSequence, taskcl...
2018-09-11 15:52:01 2510
原创 python locust--TaskSet
一、TaskSet类简介 用户自定义场景和操作需继承TaskSet类,Locust中task_set属性需指向用户自定义的TaskSet类。当locust执行时,每个locust都会执行task_set指向的TaskSet类中定义的场景和操作。二、使用task装饰器指定tasks @task后面的weight指定task的执行概率,值越大执行概率越高,以下代...
2018-09-11 15:33:13 1221
原创 python locust--Locust类
一、如何编写一个locust脚本 只要编写的python脚本至少申明一个类,并且继承Locust。二、执行locust-h, --help show this help message and exit -H HOST, --host=HOST Host to load test in the following format: ...
2018-09-11 11:26:54 481
原创 python locust--locust简介和安装
一、简介 locust,是一个简单易用的、可分布式的性能测试框架,顾名思义,蝗虫,意思就是一堆蝗虫对系统进行请求,每个蝗虫相当于一个虚拟用户,继承Locust类。优点: 完全python代码构建场景、支持任何平台、可分布式、可扩展、实时的web界面展示请求结果、轻量级。二、安装 pip install locust 依赖包: ...
2018-09-11 10:28:53 1135
转载 文件描述符与文件句柄
在我们日常编程中经常会遇到文件描述符(file descriptor)和文件句柄(file handler)这两个概念,特别是需要开发跨平台(跨windows和linux)项目的时候会被这两个概念搞得很头痛,所以下面来说说它们是什么东西及它们的区别与联系。文件描述符本质是一个索引号(非负整数),系统用户层可以根据它找到系统内核层的文件数据。这是一个POSIX标准下的概念,常见于类Unix系统,比如...
2018-06-05 11:11:45 765
原创 python--多进程之fork
fork()只支持类unix系统,不支持windows,windows多进程可使用multiprocessing。python 调用forkos.fork(),一次调用返回两次数据,子进程返回0,父进程返回子进程pid,创建子进程失败返回-1;可根据返回值让父进程和子进程完成各自的任务。如下:#coding = utf-8import osimport timedef child()...
2018-05-23 19:52:15 285
原创 python--base64编码二进制字符串
一、 str与bytes 互转a = 'abcd'b = b'abcde'# str to bytesprint(bytes(a, encoding="utf-8")) # 必须制定编码格式# bytes to strprint(bytes.decode(b))运行结果:b'abcd'abcde二、base64详解base64是把二进制字符串转换成base64编码的字符串,base...
2018-05-19 17:39:03 9590
原创 python--常用库collections
from collections import namedtuple, deque, Counter, OrderedDict# 创建一个新class Point, 有两个属性 x yPoint = namedtuple('Point', ['x', 'y', 'z']) p = Point(1, 1, 3)print(p.x)print(p.y)print(p.count(1))...
2018-05-19 16:51:52 961
原创 linux命令---我是谁
一、UID与EUID两三事UID,实际用户ID,指的是当前用户的ID。EUID,有效用户ID,指的是当前操作的用户ID。二、whoami、who am i、who如果普通用户登录MacBook-Pro:~ user$ whoamiuserMacBook-Pro:~ user$ who am iuser ttys000 May 4 18:18MacBoo...
2018-05-14 15:20:46 1041
原创 python map、reduce、filter详解
一、 map详解>>> help(map)Help on class map in module builtins:class map(object)| map(func, *iterables) --> map object|| Make an iterator that computes the function using arguments ...
2018-05-13 18:06:28 249
原创 python lambda表达式
lambda表达式,又称匿名函数。lambda函数参数解释如:f = lambda x : x*2param:x 传入的参数return:x*2调用方式:f(2)等同于如下:def f(x): return x*2二 、使用lambda对元素为字典的列表排序a = [{'a': 5, 'b': 3}, {'a': 1, 'b': 2}]sorted_a = sorted(a, key=lam...
2018-05-13 15:43:47 510
原创 macos--文件属性和文件权限(一)
一、 ls命令1、开启文件颜色显示MacBook-Pro:Desktop user$ ls -GFXTest blog flask_intro love.txt ...
2018-05-06 19:51:38 3266
原创 linux--bash配置文件
1、login shell 和non-login shell顾名思义,login shell就是要输入用户名和密码才能启动的shell,non-login shell不需要重复登录就能启动shell。2、login shell环境配置文件/etc/profile: 系统整体的配置文件,对所有登录的用户有效。 /etc/profile会调用的配置文件: /etc/inputrc:...
2018-05-06 19:50:17 151
原创 python 套接字scoket
一、 套接字概念套接字分为面向连接的套接字和无连接的套接字 1、面向连接的套接字 又称为虚拟电路或流套接字,通信之前必须先建立连接。使用TCP、IP协议或者TCP、AF-LOCAL/AF-UNIX,都必须使用SOCK-STREAM作为套接字类型。 面向连接的通信提供序列化的、可靠的、不重复的数据交互,无记录边界,每条消息可以拆分为多个片段,到达目的地可以按顺序组合...
2018-05-01 23:32:18 222
原创 mac shell定时任务执行python脚本
1、创建python脚本 ./test.pyimport requestsres = requests.get('htttps://www.baidu.com', verify=False)print(res.text)坑: 脚本中有要读取的文件最好使用绝对路径,尽量不用相对路径2、创建要执行的shell文件cd ~vim ./test.sh...
2018-04-20 12:52:06 3293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人