Python
python012
这个作者很懒,什么都没留下…
展开
-
冒泡排序的Python实现
最近被考到一个简单算法 - 冒泡排序,仿佛是大三的时候学过,大概原理还记得一点,现在调试了一下把完整代码写出来了,记录一下。#!/usr/bin/env python# -*- coding:utf-8 -*-def bubble_sort(list): len_of_list = len(list) while len_of_list > 0: fo原创 2014-12-23 23:11:32 · 525 阅读 · 0 评论 -
解决上篇博文里提到的不能使用unittest.mock.patch()的问题
今天研究了下,问题解决了,关键还是一个查找module的问题。小结一个import的基础用法很多源代码里看到这样的用法,from flask import Flask,from models.item import ItemModel,然后当我自己创建了一个名字叫person的module的时候,如果我也想在其他代码里方便的使用from person import Person来导入P...原创 2018-04-16 20:49:56 · 880 阅读 · 0 评论 -
使用unittest做类似print这样无return返回值的函数的单元测试
在看Python里自带的一个单元测试库unittest,有个有意思的应用是可以对类似于print()这样无return返回值的函数做验证。见下面代码。#!/usr/bin/env python3from unittest import TestCasefrom unittest.mock import patchfrom unittest import mainclass Pers...原创 2018-04-11 21:40:29 · 4676 阅读 · 3 评论 -
virtualenv的使用小记
virtualenv可以用来创建一套虚拟的、独立的、干净python环境,如果系统中安装有多个python版本,则还可以指定版本。pip install virtualenv pip安装virtualenv。 virtualenv venv --python=python3.6 创建一个名字叫venv的python环境,python版本指定为3.6,然后virtualenv会在当前目录下创...原创 2018-04-17 20:48:50 · 298 阅读 · 0 评论 -
转一篇关于Python类属性与实例属性的博文
链接见 https://segmentfault.com/a/1190000002671941小结下我的理解,如下一个Person类class Person(object): school_name = "ABC school" def __init__(self, name): self.name = name def print_name(s...转载 2018-04-17 23:47:00 · 167 阅读 · 0 评论 -
【高质量Python代码】01 - 将常量放在同一个文件里并防止修改
最近在看《编写高质量代码-改善Python程序的91个建议》,里面建议了很多比较好,比较Pythonic的代码写法,打算边看边实践,挑选一些记录下,这算是第一篇吧。常量也就是那些一般不会变的数据,建议的做法如下:'''Best practice 01Put all constants in one file, and protect them from changing value....原创 2018-04-19 20:31:30 · 3045 阅读 · 0 评论 -
pytest测试框架中的setup和tearDown - 0
最近对pytest比较感兴趣,看了pytest的文档classic xunit-style setup,这里做个小结,直接看代码。# content of test_websites.py'''Setup/teardown in pytest, see https://docs.pytest.org/en/3.5.1/xunit_setup.htmlRemarks:1. setup...原创 2018-05-08 21:51:19 · 3342 阅读 · 0 评论 -
pytest测试框架中的setup和tearDown - 1
这次内容是阅读[pytest fixtures: explicit, modular, scalable](https://docs.pytest.org/en/latest/fixture.html )的一些总结,pytest fixture功能很丰富,功能远不止用来构建测试中传统的setup/teardown。但是还是先看下用pytest.fixture特性写的setup/teardow...原创 2018-05-09 21:48:31 · 1926 阅读 · 0 评论 -
不使用IDE的情况下,导入自定义Python module的最佳实践 - 0
最近比较喜欢微软出的Visual Studio Code这个代码编辑器,和Sublime有点相似,但是用起来更方便一些。和PyCharm不一样,用VS code写自定义module的时候,会出现找不到module的报错,原因是VS code不会像IDE那样,帮用户把项目目录临时性加入到系统PATH中去。今天做了些探索,目前可行的方法大致如下,但是仍然不能算是最佳实践,已经在CPyUG上提了这个...原创 2018-05-04 21:38:19 · 278 阅读 · 0 评论 -
重构一份应用pytest框架的测试代码
项目中有份API测试的代码的结构大致如下 /api_test – test_device_api01_via_lan.py – test_device_api02_via_lan.py – test_device_api03_via_lan.py – test_device_api01_via_wan.py – te...原创 2018-05-11 23:26:41 · 1035 阅读 · 0 评论 -
Python的单元测试unittest中的Mock使用小结
前面一篇博文简单说了使用unittest.mock对无返回值的函数做单元测试。这里是更多一些例子的总结。被测函数中使用到了input需要自动化输入#!/usr/bin/env python3from unittest import TestCasefrom unittest.mock import patchfrom unittest import maindef fu...原创 2018-04-14 21:41:40 · 4976 阅读 · 0 评论 -
小结WEB接口测试
最近在做一个接口测试的更新,往里面添加了很多新的测试,连续加班两周,这里做一些总结。被测设备介绍: 这是一个针对某款智能设备的WEB API的测试,设备内运行OpenWRT系统,内部使用一套节点来记录很多设备信息和配置信息,设备也提供一个WEB GUI页面,可以通过打开其主页来做配置,也提供了一套WEB 接口API,来实现远程设置功能(其实就是给WEB GUI页面来调用)测试框架介绍: ...原创 2018-03-16 22:20:07 · 1233 阅读 · 0 评论 -
输出字符串出现频率最高的字母,用到了list中的排序和Iambda
看到老王Python上的一篇有关Iambda的文章http://www.cnpythoner.com/post/140.html,其中提到一题目 - 输出a字符串出现频率最高的字母,代码如下:a = "aAsmr3idd4bgs7Dlsf9eAF"l = ([(x,a.count(x)) for x in set(a)])l.sort(key = lambda k:k[1],rever原创 2014-12-25 00:06:03 · 962 阅读 · 0 评论 -
Python实战计划学习作业1-1
不是学习Python的第一天,跟随教程做了如下网页,问题来了,为啥中央3个图片不是居中的,右侧有多余空白。代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Hello World!</title> <link rel="stylesheet" type="text/css" hr原创 2016-11-09 21:50:46 · 436 阅读 · 0 评论 -
Python实战计划学习作业1-2
代码如下from bs4 import BeautifulSouphtml_path = "/Users/reed/Documents/dev/Plan-for-combating/week1/1_2/1_2answer_of_homework/index.html"with open(html_path, 'r') as wb_data: soup = BeautifulSoup(wb_d原创 2016-11-12 22:54:02 · 502 阅读 · 0 评论 -
Python实战计划学习作业1-4
代码如下from bs4 import BeautifulSoupimport requestsimport timeimport osimport urllibimport randomsingle_url = "http://weheartit.com/inspirations/taylorswift?scrolling=true&page="target_dir = "/Users原创 2016-11-16 22:29:12 · 1145 阅读 · 0 评论 -
Python实战计划学习作业1-3
代码如下:from bs4 import BeautifulSoupimport requestsurls = ["http://bj.xiaozhu.com/search-duanzufang-p{}-0/".format(str(i)) for i in range(2, 5, 1)]urls.insert(0, "http://bj.xiaozhu.com/")max_of_pages原创 2016-11-14 22:45:35 · 3335 阅读 · 0 评论 -
Python实战计划学习作业1-5
代码如下from bs4 import BeautifulSoupimport requestssingle_url = "http://weheartit.com/inspirations/taylorswift?scrolling=true&page="target_dir = "/Users/reed/Desktop/images"url_list = ["http://bj.58.com原创 2016-11-22 23:18:12 · 1890 阅读 · 0 评论 -
Python实战计划学习作业2-2
from bs4 import BeautifulSoupimport requestsimport pymongofrom string import whitespaceclient = pymongo.MongoClient('localhost', 27017)phone_number_sale = client['phone_number_sale']page_url_tab =原创 2016-12-07 23:57:36 · 374 阅读 · 0 评论 -
Python实战计划学习作业2-1
代码如下import pymongofrom bs4 import BeautifulSoupimport requestsclient = pymongo.MongoClient('localhost', 27017)xiaozhu = client['xiaozhu']rent_house_info_tab = xiaozhu['rent_house_info_tab']urls = [原创 2016-11-26 00:09:01 · 474 阅读 · 0 评论 -
远程修改OpenWRT开发板中的文件
这两天收到一个任务,某接口测试的测试用例需要更新,需要在测试中修改开发板中的文件。先白话下上层的一些东西,包括这套接口测试在内,可见的全部测试都挂在Jenkins上,测试对象是某刷了OpenWRT修改版的智能设备,Jenkins上游自然是自动编译生成build文件的各种job(有主线和针对不同需求的分支),一旦成功生成新的build文件,就会触发下游各种各样的测试,其中包括接口测试。挂在J原创 2017-12-26 23:46:44 · 579 阅读 · 0 评论 -
不使用IDE的情况下,导入自定义Python module的最佳实践 - 1
CPyUG确实是个挺好的组织,Python方面的问题一般都会有热心又专业的小伙伴帮忙回答,针对上次导入自定义Python module的问题,目前有两个可行的办法。方法1是针对应用了pytest框架的测试项目的,例如有如下项目结构。 项目中定义了一个包util,其中有模块global_values.py,在另一个目录testlogin中有test_login.py希望导入模块global...原创 2018-05-06 22:20:31 · 431 阅读 · 0 评论