05 2020 档案
摘要:前言 在Linux下编写shell脚本时,每次都要使用chmod +x 文件名的方式给文件赋予可执行权限,那有没有一种简单的方法,可以自动识别shell脚本并为其添加执行权限,经过网上搜索,发现可以配置vimrc来实现 步骤 [root@localhost chapter3]# vim ~/.vim
阅读全文
摘要:```python import keyword print(keyword.kwlist) # 运行结果 ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else',
阅读全文
摘要:定义一个小数scale, 输出 数据比例是 25.00% 注意两个地方: 1.格式化输出%,要使用%% 2.scale转化为整数,乘100要加括号,否则会将字符串重复100次
阅读全文
摘要:可以看到%06d的作用是,不足6位,以0补齐,超过6位,按照原有的变量值显示
阅读全文
摘要:request对象 Flask的request对象封装了从客户端发来的请求报文,可以从它获取请求报文的所有数据 获取请求URL 假设请求的URL是http://helloflask.com/hello?name=Grey,当Flask接收到请求后,请求对象会提供多个属性来获取URL的各个部分,常用的
阅读全文
摘要:模型 (Model):可以用其他库实现 视图 (View):Jinja2渲染的HTML模板 控制器 (Controller):视图函数
阅读全文
摘要:模板 是指包含程序页面的HTML文件 静态文件 是需要在HTML文件中加载的CSS和Javascript文件,以及图片、字体文件等资源文件 默认情况下,模板文件存放在项目根目录中的templates文件夹中,静态文件存放在static文件夹下,这两个文件夹需要和包含程序实例的模块处于同一个目录下,对
阅读全文
摘要:自定义一个命令hello,使用flask hello输出'Hello, Human!'的信息 首先要引入 然后编写命令函数 如果还想额外设定命令名称,可以在app.cli.command()装饰器里添加一个参数say hello
阅读全文
摘要:调用 函数时,第一个参数为端点值,也就是视图函数名,举个例子: 这时得到的url只是相对url,要获取绝对路径,需要将url_for()函数的_external参数设置为True
阅读全文
摘要:首先要cd到hello目录下,然后使用 启动Python Shell 可以看到使用 命令打开的Python Shell自动包含程序上下文,并且已经导入了app实例 什么是上下文?上下文可以理解为环境,为了正常运行程序,一些操作相关的状态和数据需要被临时保存下来,这些状态和数据被统称为上下文,在Fla
阅读全文
摘要:命令行启动 在app.py的父目录下,使用 可以启动内置的开发服务器。但是注意到,这里的Debug mode为off 自动发现程序实例 + 在当前目录下,寻找app.py和wsgi.py模块,并从中寻找名为app或application的程序实例 + 从环境变量FLASK_APP对应的值寻找名为ap
阅读全文
摘要:创建实例 简单来说就是模块名,比如当前模块为app.py,那么__name__为app,这个是Flask类构造方法的第一个参数,此外,还可以帮助Flask在相应的目录里找到需要的资源,比如模板和静态文件 注册路由 传入url作为参数,这样就可以让url绑定函数,这个过程称为注册路由,路由负责url和
阅读全文
摘要:pipenv创建虚拟环境 使用Pycharm创建一个项目hello flask,其路径为:E:\virtual_workshop\hello flask,在hello flask项目下使用 为当前项目创建虚拟环境 实际上,创建的虚拟环境目录是和项目目录并排的 Pycharm里选择Python解释器路
阅读全文
摘要:在Python中,两个数字型变量是可以直接进行算数运算的,如果变量是bool型,在计算时,
阅读全文
摘要:前言 继续总结下UI自动化的思路 面试题汇总 介绍一下UI自动化是怎么做的 xx项目已经平稳运行三四年了,该项目迭代周期较长,版本间的界面变化不太大,因此在初入公司的时候,公司安排我做项目的APP自动化 1.首先我在阅读需求文档的基础上,通过和业务测试同学、开发、产品沟通,花了一两周的时间熟悉了项目
阅读全文
摘要:前言 如果面试软件测试岗位,可能更多考察的是测试用例的编写思路,在这个里面会考察候选人的思维发散能力和对需求的理解程度。遗憾的是,有几次在碰到这种情况时,回答的不是很好。现在从功能和接口两个方面总结下相关的问题 面试题汇总 给你一个生活中的物品,应该怎么测试 其实不管是测试生活中的物品还是具体的业务
阅读全文
摘要:前言 最近面试过程中对自己的状态不是很满意,很多知识感觉了解那么一点点,但非常不深入,导致别人一问,我的表达连我自己都不信任。可我自己还要装在很平静,及时遇到不会的问题的时候,也要心平气和,说一下自己的理解和看法。现在将这些问题记录一下,顺便重新整理下思路 面试题汇总 先简单做个自我介绍 我叫xxx
阅读全文
摘要:前言 今天的面试有点猝不及防,前面经过一轮技术面,二轮HR面,本来已经到终面了,我以为不会有太多技术性的问题,结果研发老大看到我的简历,更多的是自动化的工作,而他们需要的测试开发,感觉有点不符合,后面他问了我几个问题之后,叫来一个测试开发,问了我如下的一些问题,这些问题里,有的答的比较满意,有的比较
阅读全文
摘要:什么是闭包 在一个外函数中定义了一个内函数,内函数里使用了外函数的局部变量,并且外函数的返回值是内函数的引用。一般情况下,如果一个函数结束,函数内部的所有东西都会释放掉,还给内存,局部变量都会消失,但是闭包是一种特殊情况。如果外函数在结束的时候发现有自己的局部变量会在内函数中使用到,就把这个局部变量
阅读全文
摘要:全局变量 定义一个函数,它读取两个变量的值:一个是局部变量a,是函数的参数,另一个是变量b,这个函数没有定义它 出现这样的错误并不奇怪,因为全局变量b并没有赋值,使用dis反汇编一下,可以看到是往栈里load了全局变量b 怎么优化这个程序?只需要先给全局变量b赋值,然后再调用f 局部变量 下面的f2
阅读全文
摘要:实例方法 第一个参数是"self",表示实例对象,通过它传递实例的属性和方法。只能由实例调用 类方法 使用装饰器@classmethod,第一个参数可以是"cls",也可以是"self",通过它传递类的属性和方法。可以由类和实例调用 假设我有一个学生类和一个班级类,想要实现的功能为:班级类含有类方法
阅读全文
摘要:前言 有一些对象我们只需要一个,比如说:线程池、缓存、对话框、处理偏好设置和注册表的对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。这类对象只能有一个实例,如果制造出多个实例,就会导致很多问题产生,比如:程序的行为异常、资源使用过量,或者是不一致的结果 代码实现
阅读全文
摘要:前言 Redis 是开源的内存数据结构存储,也就是它是一种高效的存储数据结构的存储,可以用来作数据库,也可以用来作缓存 和其他数据库相比,Redis 最大的特点就是 in memory 所以性能会非常的高,它的数据都是在内存中进行处理,基于这一点很多公司都会用它做一些高性能的数据存储,Redis 通
阅读全文
摘要:什么是SQL SQL 的全称为 Structured Query Language 结构化查询语言,它是一个数据领域的 DSL,也就是说它是一种特殊的构建语法,可以用来支持对数据领域的各种通用操作 SQL的分类 SQL按照用途的不同可以分为四大类: 1.DDL,DDL 是一种数据定义语句,里面主要包
阅读全文
摘要:前言 在实际工作中,使用Excel存储自动化测试数据是很多公司的首选,一方面由于Excel比较直观,方便操作;另一方面Python读取Excel也比较方便,不需要写多少代码就可以读出所有的测试数据。但是,随着项目的业务日趋复杂,使用Excel中的一行作为一个测试用例,对于复杂的测试场景来说,涉及到几
阅读全文
摘要:前言 数据库目前在行业中可分为: + 关系型数据库(RDBMS):MySQL、Oracle、Postgres、SQLLite、SQLServer + NoSQL数据库:MongoDB、Redis、HBase + 图数据库:Neo4j + NewSQL:RethinkDB MySQL搭建 docker
阅读全文
摘要:题目 shell脚本test.sh如下 执行./test.sh abcd.c .c输出() A. abcd B. abcd. C. abcd.c D. bcd.c 分析 主要是掌握shell脚本中${...}函数的用法,${ 2}获得的是第二个参数.c的长度2,${ 1}获得的是第一个参数 abcd
阅读全文
摘要:慢查询 mysql慢查询,全名是慢查询日志,是mysql提供的一种日志记录,用来记录在mysql中响应时间超过指定时间的语句 参数 slow_query_log 慢查询开启状态,1表示开启,0表示关闭 long_query_time 慢查询指定时间,当查询时间多于这个值时,记录日志 slow_que
阅读全文
摘要:题目 用python写个冒泡排序 分析 以a = [4, 3, 2, 1]为例,进行冒泡排序 代码实现
阅读全文
摘要:线程和进程 进程是资源分配的最小单位。每个进程都拥有自己的地址空间、内存、数据栈以及其他用于追踪执行的辅助数据。操作系统管理其上所有进程的执行,并为这些进程合理地分配时间。进程也可以通过派生(fork或spawn)新的进程来执行其他任务,不过因为每个新进程也都拥有自己的内存和数据栈等,所以只能采用进
阅读全文
摘要:题目 按下述要求编写代码,实现以下功能: (1)编写代码下载http://www.newsgd.com/news/2020 05/05/content_190848024.htm 页面的内容并保存为mt.html (2)统计mt.html中 标签下所有单词并存储到mt_word.txt中,要求: a
阅读全文
摘要:有那么一段时间,我在阳明山的山道上,常看到一群头顶云雾缭绕的袈裟僧人,他们乐此不疲的皈依于崎岖和信仰之间,你问他们每日上山难吗?他们亦如此回答,难便是易,易便是难。好像难和易之间并无殊异,但是对于其他人并非如此,对患有佝偻的人来说,走几步往往要休憩片刻,对体力不逮的小孩来说,未至山腰就形如困兽 眷村
阅读全文
摘要:语法 在python3中,内置函数中已经没有reduce了。要使用reduce,需要从functools模块里引入 可以看到,reduce有三个参数,第一个是函数function,第二个是序列sequence,第三个是initial,为初始值,默认为None 作用 对序列中的元素进行累积 返回值 返
阅读全文
摘要:语法 在python3中,map是一个内置类,调用map()函数实际上是实例化map类的过程(这一点可以看出,内置类的类名可以小写) 从源码中看,map函数有两个参数,一个是函数func(注意不是函数调用func()),另一个是可迭代的参数, 表示可以有任意多个可迭代参数 作用 使用可迭代对象中的每
阅读全文
摘要:生成器(generator) 使用了yield关键字的函数称为生成器。在调用生成器的过程中,每次遇到yield,函数会暂停并保存当前所有的运行信息,返回yield的值,并在下次执行next()方法时,继续从当前位置运行 调用一个生成器函数,返回的是一个生成器对象(迭代器对象)。 生成器本身也是迭代器
阅读全文
摘要:可迭代对象(iterable) 定义 实现了__iter__方法的对象称为可迭代对象,在python中,可迭代对象有字符串、列表、元组、字典、集合等 创建可迭代对象 判断 判断对象是否是可迭代对象 也可以去源码里查看,比如源码里的list类实现了__iter__方法 迭代器(iterator) 定义
阅读全文
摘要:题目 有一个序列:1/2, 2/3, 3/5, 5/8, 8/13...,写一段Python代码,求出这个序列前10项的和 分析 可以分别用变量表示分母和分子,在根据规则计算出下一个分数时,要同时改变分母和分子的值 代码实现
阅读全文
摘要:题目 让函数PermulationStep(num)接受传递的num参数,并使用相同的数字返回大于num的下一个数字 例如:如果num为123,则返回132; 如果为12345,则返回12354. 如果一个数字没有更大的排列,则返回 1(即999) 例子 输入:11121 输出:11211 输入:4
阅读全文
摘要:题目 小明有一百元,他想买一百本书,英语书5元一本,数学书3元一本,语文书0.5元一本,请问他有多少种买法? 请编程解决这个问题,可以使用任何编程语言,包括伪语言 分析 小明有100元,三本书的价格分别是5元,3元,0.5元,那么最多能买到的英语书为20本,数学书为33本,语文书为200本。题目要求
阅读全文
摘要:题目 分析 由于函数f的默认参数 l 是列表,因此是可变数据类型,当f(2)调用后f()后,l变为[0, 1],当f(3, [3, 2, 1])调用时,由于使用的是自定义的参数,所以这次默认参数 l 的值不变,仍是[0, 1],当使用f(3)调用后,由于没有传自定义参数,因此使用默认参数 l = [
阅读全文