现在位置: 首页 > 安生发表的所有文章
1. 关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性。 官网地址:https://www.python.org/dev/peps/pep-0008/ 2. 关于Autopep8 Autopep8是自动将Python代码格式化为符合PEP 8风格的工具。它使用pycodestyle工具来确定代码的哪些部分需要被格式化。Autopep8能够修复大部分pycodestyle检测的格式问题。 github地址:https://github.com/hhatto/autopep8 3. 下载安装Autopep8 pip install autopep8 4. 使用Autopep8 命令行使用方式如下 $ autopep8 ......
阅读全文
  • 07月
  • 18日
测试技术, 软件测试 ⁄ 共 986字 评论关闭 ⁄ 阅读 133 次
最近小伙伴问了一个非常有意思的问题: Python中的位运算符包括~、&、|、……、<<、>>,都是在二进制基础之上进行的运算,其他的都能理解,但是~却理解不了。比如a=60,a的二进制为0011 1100,那么~a应该是1100 0011,转换为十进制为195啊!怎么解释里为~a=-(a+1)=-61?   翻了下《Python核心编程》,记录这个问题的解决思路: 1. 首先我们需要明白,python里的标准整形数字,在32位及64位机器上的取值范围如下: 32位:-2^31~2^31-1 64位:-2^63~2^63-1   2. ~运算的标准解释是: ~num 单目运算,对数的每一......
阅读全文
  • 07月
  • 17日
测试技术 ⁄ 共 7226字 评论关闭 ⁄ 阅读 104 次
1.简介 正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备了“均匀分散,整齐可比”的特点。 正交实验法设计测试用例,基本步骤如下: 1. 提取测试需求功能说明,确定因素数和水平数 2. 根据因素数和水平数确定n值 3. 选择合适的正交表 4, 根据正交表把变量的值映射到表中,设计测试用例数据集 本文参考如上步骤,使用Python实现了使用正交表自动设计测试用例的完整流程。 GitHub地址......
阅读全文
  • 06月
  • 28日
测试技术, 软件测试 ⁄ 共 4121字 评论关闭 ⁄ 阅读 203 次
Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。要写出 Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀的源代码值得阅读,比如:requests、flask、tornado,下面列举一些常见的Pythonic写法。 0. 程序必须先让人读懂,然后才能让计算机执行。 “Programs must be written for people to read, and only incidentally for machines to execute.” 1. 交换赋值 ##不推荐 temp = a a = b b = a ##推荐 a, b = b, a # 先生成一个元组(tu......
阅读全文
  • 06月
  • 07日
测试技术 ⁄ 共 1458字 评论关闭 ⁄ 阅读 153 次
python2.7中提供了两种方法对list进行排序,分别是list成员函数sort及built-in函数sorted. 函数原型分别如下: 1) sort(...) L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*; cmp(x, y) -> -1, 0, 1 2) sorted(...) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list 2个函数参数及功能基本一致,唯一的区别是sort是在原有list上修改排序,sorted则是排序生成新的列表。 以sorted函数为例,参数详解如下: 1)iterable:能够一次返回它的一个成员的对象。iterable主要包括3类......
阅读全文
  • 01月
  • 19日
测试工具, 软件测试 ⁄ 共 2204字 评论关闭 ⁄ 阅读 861 次
最近在CentOS上经常遇到Tomcat进程无法正常停止的问题(使用命令catalina.sh stop),后来查看帮助发现可以使用catalina.sh stop -force命令来强制停止Tomcat进程。 而想要正常的使用stop -force命令,需要配置一个参数$CATALINA_PID,否则会报错Kill failed: $CATALINA_PID not set。 1. 使用命令catalina.sh --help查看帮助 可以看到 stop -force命令是先stop,如果5秒后进程还存在则直接 -KILL。 注意下面的Note提到,使用-force命令必须先定义变量$CATALINA_PID。 [[email protected] apache-tomcat]# ./bin/catalina.sh --hel......
阅读全文
  • 01月
  • 17日
测试技术, 软件测试 ⁄ 共 3451字 评论关闭 ⁄ 阅读 1,952 次
本文主要介绍python异步并发模块concurrent.futures。它非常简单易用,主要用来实现多线程和多进程的异步并发。 1. 模块安装 1) python 3.x中自带了concurrent.futures模块 2) python 2.7需要安装futures模块,使用命令pip install futures安装即可 pypi地址:https://pypi.python.org/pypi/futures/ 2. Executor对象 class concurrent.futures.Executor Executor是一个抽象类,它提供了异步执行调用的方法。它不能直接使用,但可以通过它的两个子类ThreadPoolExecutor或者ProcessPoolExecutor进行调用。 2.1 Executor.submit(fn, ......
阅读全文
最近使用mysql时遇到报错ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES),这里记录下解决方法: 1. 首先关闭mysql服务 /etc/init.d/mysql stop 2. 使用如下命令启动mysql /etc/init.d/mysql start --skip-grant-tables 3. 接下来直接连接mysql,并输入相关命令重新设置密码 mysql -u root mysql mysql>UPDATE user SET Password=PASSWORD('123456') where USER='root'; mysql>FLUSH PRIVILEGES; 4. 重启mysql /etc/init.d/mysql restart 5. 这时我们就可以使用刚设置的密码连接mysql了 mysql -u......
阅读全文
  • 01月
  • 05日
测试技术 ⁄ 共 915字 评论关闭 ⁄ 阅读 521 次
Requests本身虽然提供了简单的方法POST多部分编码(Multipart-Encoded)的文件,但是Requests是先读取文件到内存中,然后再构造请求发送出去。 如果需要发送一个非常大的文件作为 multipart/form-data 请求时,为了避免把大文件读取到内存中,我们就希望将请求做成数据流。 默认requests是不支持的(或很困难), 这时需要用到第三方包requests-toolbelt。 两个库POST多部分编码(Multipart-Encoded)的文件示例代码分别如下: 1. Requests库(先读取文件至内存中) import requests url = 'http://httpbin.org/post' files = {'fi......
阅读全文
  • 01月
  • 04日
测试技术, 软件测试 ⁄ 共 1243字 评论关闭 ⁄ 阅读 117 次
最近在项目中后台用到After Effects进行视频合成,但由于AE不稳定经常出现报错弹框、进程无响应等异常问题。 后来用了AE的隐藏UI模式,还是有问题,临时就用AutoIT编写了一个小工具处理弹框。 思路就是:工具长启在后台监控是否有AE窗口弹出,有的话则激活窗口,截图并发送Enter键进行关闭。 代码很简单,但是后来在现网实际使用时,发现由于是远程连接模式使用,远程连接窗口如果最小化或关闭脚本则无法正常运行。 百度了很久之后发现是AutoIT本身的限制导致,暂时无法解决,最后使用了另外一种方法临时规避该问题: 本机A首先连接......
阅读全文
  • 11月
  • 15日
杂谈 ⁄ 共 389字 评论关闭 ⁄ 阅读 2,254 次
最近使用ThinkPad T440更新Win10补丁后,重启出现报错2101:Detection error on SSD1(M.2)。 后来通过恢复BIOS默认设置方法解决,具体操作方法如下: 开机看到Lenovo或ThinkPad标识后多次按Enter回车,听到报警声后等待下一画面,然后按F1进入BIOS主界面; 移至最后一列Restart,找到Load Setup Defaults BIOS并回车,找到Restore Setup Defaults回车,按Y键,再键回车即可载入默认值; 最后按F10回车保存重启。 另外,OS Optimized Defaults选项可根据需要进行配置,如果当前是Win8/8.1或Win10系统,该选项需为Enabled,如果是Win7......
阅读全文
  • 10月
  • 26日
CentOS ⁄ 共 893字 评论关闭 ⁄ 阅读 1,037 次
本文主要介绍在CentOS x64位系统升级JAVA JDK版本至1.8的方法。 1. 安装包下载 最新的JDK官网下载地址:>>>点此访问 建议下载rpm包:>>>点此下载   2. 安装步骤 以root帐号登录系统或切换用户至root su root 在/usr目录下创建java文件夹,同时修改目录权限 mkdir /usr/java chmod 755 /usr/java/ 将下载的JDK rpm包复制至创建的/usr/java目录下 执行命令进行安装,安装至/usr/java/的新建文件夹jdk1.8.0_111中 rpm –ivh /usr/java/jdk-8u111-linux-x64.rpm 3. 配置环境变量 在系统终端中输入 vi ......
阅读全文