python学习篇
xianjie0318
坚持下去
展开
-
PyCharm-文件或代码模板,添加py文件时自动添加文件头
1、文件头模板设置路径Settings->Editor->File and Code Templates->Python Script参考模板:#!/usr/bin/env python# -*- coding: UTF-8 -*-'''@Project :${PROJECT_NAME} @File :${NAME}.py@Author :吾非同@Date :${DATE} ${TIME} 2.快速添加函数及参数注释在完成函数定义时,输入三个"""回原创 2020-12-10 14:37:09 · 339 阅读 · 0 评论 -
把 python 程序打包成 egg 或者 whl 安装包 或exe包
目的:把个人开发的公共包制作成whl然后放入pip私有源中,局域网内使用步骤:1、安装setuptools首先安装setuptools工具:pip install setuptools或更新:pip install --upgrade setuptools或下载进行安装:http://pypi.doubanio.com/simple/setuptoolssetuptools-9.1-py2.py3-none-any.whl:pip installsetuptools-9..原创 2020-12-03 10:08:32 · 1288 阅读 · 0 评论 -
搭建本地私有pip源
目的1、用于内网内的pip安装2、整理个人使用的python第三方库3、个人开发公用库搭建环境1、centos72、python2/python3搭建步骤(python2相同)1、安装python3.7下载地址:https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz解压tar -xvJf Python-3.7.2.tar.xz创建编译安装目录mkdir /usr/local/python3原创 2020-11-26 11:34:26 · 7906 阅读 · 1 评论 -
Pytest-fixture参数化和作用范围(scope)
fixture参数化,需要使用request返回参数import pytest@pytest.fixture(params=[{'username':'TesterTalk',"password":1}, {'username':'Test',"password":1}])def account_provider(request): #request是固定的。 return request.param #request.parm也是固定的。@pytest.mark.use...原创 2020-11-25 09:44:04 · 571 阅读 · 0 评论 -
pytest参数化parametrize,多用于查询、输入不同条件或数据--案例
@pytest.mark.parametrize("参数名",列表数据)参数名:用来接收每一项数据,并作为测试用例的参数。列表数据:一组测试数据。#!/usr/bin/python# --*-- coding:utf-8 --*--"""@File:getAllDeviceListAction_test.py@Author: xianqc@Date:2020/11/18 2020/11/18 """from at_interface.common import Log...原创 2020-11-25 08:50:59 · 590 阅读 · 0 评论 -
Pytest获取测试用例执行结果存储log文件
Pytest 提供的pytest_runtest_makereport钩子方法,获取每个用例的执行结果。from _pytest import runner# 对应源码def pytest_runtest_makereport(item, call): """ return a :py:class:`_pytest.runner.TestReport` object for the given :py:class:`pytest.Item` and :py:class:`原创 2020-11-20 10:32:52 · 5002 阅读 · 1 评论 -
自定义修改pytest-html报告
根目录下增加conftest.py#!/usr/bin/python# --*-- coding:utf-8 --*--import pytestfrom py._xmlgen import htmlfrom datetime import datetime@pytest.mark.optionalhookdef pytest_html_results_summary(prefix, summary, postfix): prefix.extend([html.p("测试人: x原创 2020-11-06 15:27:39 · 1328 阅读 · 0 评论 -
pytest-conftest.py的作用范围
conftest.py的作用范围一个工程下可以建多个conftest.py的文件,一般在工程根目录下设置的conftest文件起到全局作用。在不同子目录下也可以放conftest.py的文件,作用范围只能在改层级以及以下目录生效。项目实例:目录结构:1.conftest在不同的层级间的作用域不一样# conftest层级展示/conftest.pyimport pytest@pytest.fixture(scope='session', autouse=True)de.原创 2020-11-06 14:44:54 · 1623 阅读 · 0 评论 -
pytest的案例
1.pytest简介pytest 是一个非常成熟的全功能的 Python 测试框架,主要特点:简单灵活,容易上手,文档丰富;支持参数化,可以细粒度地控制要测试的测试用例;能够支持简单的单元测试和复杂的功能测试,还可以用来做 selenium/appnium等自动化测试、接口自动化测试(pytest+requests);pytest 具有很多第三方插件,并且可以自定义扩展。2.pytest 的命名规则测试模块名建议使用 test_开头或_test 结尾测试类必须以 test 开头或结尾原创 2020-11-06 10:21:42 · 1714 阅读 · 0 评论 -
Python Web框架篇:Django Model基础
model是关于你的数据的单一的,确定的信息来源。 它包含您正在存储的数据的基本字段和行为。Django通过抽象化的模型层(models)为你的网络应用提供对于数据的结构化处理和操作处理,数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,使用数据库API对数据库进行增删改查的操作。使用哪种数据库,只需要在settin...转载 2018-04-12 14:43:58 · 363 阅读 · 0 评论 -
python web框架篇:views视图函数
Django请求的生命周期是怎样的?简单地说,通过URL对应关系匹配 ->找到对应的函数(或者类)->返回字符串(或者读取Html之后返回渲染的字符串)解剖起来如下:1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端,请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中.2. url经过Django中的wsgi,...转载 2018-04-12 14:03:20 · 638 阅读 · 0 评论 -
Django web框架篇:基础
参考:http://www.cnblogs.com/gregoryli/对于web开发者来说,socket是基础。因为Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序。服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理。应用程序则负责具...转载 2018-04-12 13:46:41 · 2824 阅读 · 0 评论 -
Python Web框架篇:Django templates(模板)
为什么用templates?views.py视图函数是用来写Python代码的,HTML可以被直接硬编码在views.py之中。如下:import datetimedef current_time(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</bo...转载 2018-04-12 13:37:02 · 521 阅读 · 0 评论 -
Python3.6+Django2.0.2,实现用户注册,并展示用户名称和密码列表
环境要求:Windows10Python3.6.4Django2.0.2Eclipse+Pydev实现需求:1、用户注册:用户名称 密码、邮箱 手机号 住址等信息;2、用户注册完成后,跳转用户信息展示页面;实现步骤:1、搭建Eclipse+Pydev+Python3.6.4+Django2.0.2的开发环境;2、新创建一个Django的web项目,进入new--Django project项目;新...原创 2018-04-11 17:58:26 · 4644 阅读 · 1 评论 -
获取app的下载url,然后批量下载app安装包,并把错误日志存储log文件
批量下载app安装包#/usr/bin/python#encoding:utf-8import os,timefrom urllib.request import urlopendef appDownload(appnum,appname,appurl): file_name=appnum+'-'+appname+'.apk' u = urlopen(appurl) path=o...原创 2018-04-02 13:32:11 · 819 阅读 · 0 评论 -
linux下执行python获取中文数据时,UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position
linux环境linux下查看文件编码格式以及转换格式教程我们查看的urllist.txt的字符编码转化为UTF-8编码,并且重新输出到urllist.txticonv urllist.txt -f iso-8859-1 -t UTF-8 -o urllist.txt --verbose最后我们验证转化后的test1.log的字符编码。我们执行命令:file -i urllist.txt查看字符编...原创 2018-03-02 14:03:06 · 1535 阅读 · 0 评论 -
linux下安装python3.6.4
一、官网下载python3的所需版本。(/usr/download)wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz二、然后,解压缩文件(/usr/download)tar -xvf Python-3.6.4.tgz三、创建安装文件的路径。(随便)mkdir /usr/local/python3四、编译。(注意此操作 需要进...原创 2018-03-02 13:26:30 · 911 阅读 · 0 评论 -
python远程发送syslog到某个机器上514端口,并注意addHandler()在循环执行时,调用只能一次
源代码#/usr/bin/python#encoding:utf-8import loggingimport logging.handlers # handlers要单独importimport GetConfiggetcon=GetConfig.GetConfig()IP=getcon[0]Port=int(getcon[1])logger = logging.getLogger('WebTa...原创 2018-03-01 10:33:31 · 4632 阅读 · 1 评论 -
python备份多级目录文件到另外一个目录下
#/usr/bin/python#encoding:utf-8'''Created on 2018年2月28日@author: Administrator'''import os import sys import os.pathimport mkdirfrom shutil import copy def backupsXml(path): for dirpath,dirnames,...原创 2018-03-06 22:02:12 · 509 阅读 · 0 评论 -
python使用直方图计算法比对图片,不一致的图片发送告警日志信息
#/usr/bin/python#encoding:utf-8from PIL import Imageimport os,timeimport sendresyslogdef calculate(image1, image2): g = image1.histogram() s = image2.histogram() assert len(g) == len(s), "err...原创 2018-03-06 22:01:15 · 928 阅读 · 0 评论 -
Python3.6+Django2.0.2 实现用户登录+跳转首页--左侧菜单+添加用户信息--展示用户信息
一、环境要求:python版本:Python3.6.4web框架:Django2.0.2开发工具:Eclipse+Pydev数据库:mysqlweb:html+css+JavaScript二、实现需求:1、用户登录:用户登录页面,输入用户名、密码(非加密),通过与数据库比对,验证通过后,登录成功,调整首页2、首页:左侧菜单(粗糙)--多级菜单3、用户管理--添加用户--跳转用户添加页面,提交数据库...原创 2018-04-20 14:44:54 · 13377 阅读 · 0 评论 -
Python 知识
1.Python是如何进行内存管理的?答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制一、对象的引用计数机制Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况:1,一个对象分配一个新名称2,将其放入一个容器中(如列表、元组或字典)引用计数减少的情况:1,使用del语句对对象别名显示的销毁2,引用超出作用域或被重新赋值sys.getr...原创 2018-05-05 14:56:09 · 213 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个...转载 2018-04-28 15:17:47 · 939 阅读 · 0 评论 -
python2.7 使用MySQLdb模块封装一个获取mysql连接的类案例
案例具体如下:import MySQLdbclass GetMysql(object): def getCon(self): Host="192.168.0.222" Port=3306 User="root" Passwd="111111" Db="redmine"原创 2017-02-09 15:51:44 · 1529 阅读 · 0 评论 -
python 迭代器&生成器
在了解Python的数据结构时,容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)、列表/集合/字典推导式(list,set,dict comprehension)众多概念参杂在一起,难免让初学者一头雾水,我将用一篇文章试图将这些概念以及它们之间的关系捋清楚二 容器(container)容器是一种把多个元素组织在一起的数...转载 2018-12-11 16:23:36 · 238 阅读 · 0 评论 -
python面向对象的三大特性
一、继承 面向对象中的继承就是继承的类直接拥有被继承类的属性而不需要在自己的类体中重新再写一遍,其中被继承的类叫做父类、基类,继承的类叫做派生类、子类。在python3中如果不指定继承哪个类,默认就会继承Object类,而继承了Object类的类就叫做新式类,而在python2中如果不指定继承哪个类也不会默认去继承Object类,而没有继承Object类的类就叫做经典类。经典类和新式类的不同...转载 2018-12-12 16:35:42 · 555 阅读 · 0 评论 -
Python的特殊方法
ython 解释器碰到特殊的句法时,会使用特殊方法去激活一些基本的对象操作,这些特殊方法的名字以两个下划线开头,以两个下划线结尾(例如__getitem__)。譬如,当使用len(obj)时,解释器实际会调用obj.__len__这些特殊方法名能让你自己的对象实现和支持以下的语言构架,并与之交互:迭代 (__iter__, __reversed__...) 集合类 (__getitem_...转载 2018-12-12 16:32:27 · 218 阅读 · 0 评论 -
python 装饰器
简单装饰器if foo()==show_time(foo) :问题解决! 所以,我们需要show_time(foo)返回一个函数对象,而这个函数对象内则是核心业务函数:执行func()与装饰函数时间计算,修改如下:import time def show_time(func): def wrapper(): start_time=time.time()...原创 2018-11-29 15:43:41 · 150 阅读 · 0 评论 -
pycharm 使用快捷键
快捷键1、编辑(Editing)Ctrl + Space 基本的代码完成(类、方法、属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + P 参数信息(在方法中调用参数)Ctrl + Q 快速查看文档Shift + F1 外部文档Ctrl + 鼠标 简介Ctrl + F1 显示错误描述或警告信息Alt + I...转载 2018-11-29 13:58:36 · 201 阅读 · 0 评论 -
Django教程——manage.py命令
一、manage.py命令选项manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要通过python命令执行。manage.py接受的是Django提供的内置命令。内置命令包含 check dbshell diffsettings flush makemigrations migrate runser...转载 2018-11-06 10:19:53 · 10007 阅读 · 0 评论 -
简单的python http接口自动化脚本
今天给大家分享一个简单的python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值是否和返回报文中的值一致,如果不一致则根据用例标题把bug提交到bug管理系统,这里使用的bug管理系统是bugfree。 实现步骤: 1、读取excel,保存测试用例中的内容; ...转载 2018-05-31 17:53:48 · 3790 阅读 · 0 评论 -
ThriftPy does not support generating module with path in protocol 'c' 问题
今天使用impyla在Windows端读取impala的时候,提示“ ThriftPy does not support generating module with path in protocol 'c'”错误,查询相关的资料:https://github.com/eleme/thriftpy/issues/234 发现主要是源码在解析url的时候出现错误,解决方法如下:修改windows端中...原创 2018-06-04 11:05:17 · 273 阅读 · 0 评论 -
python 创建目录的方法
#/usr/bin/python#encoding:utf-8'''Created on 2018年3月5日@author: Administrator'''def mkdir(path): import os path=path.strip() path=path.rstrip("\\") isExists=os.path.exists(path) if not i...原创 2018-03-06 21:58:08 · 659 阅读 · 0 评论 -
python3.6+BeautifulSoup4.2 爬取各类app应用信息并下载app包
---------------环境配置---------------1、在Windows操作系统下安装python-3.6.4-amd64.exe2、配置环境变量Path变量:如C:\Users\Administrator\AppData\Local\Programs\Python\Python36\打开cmd命令窗口,输入:python命令,可以进入python 编辑命令行,即可。3、把beau...原创 2018-02-08 13:56:17 · 1224 阅读 · 0 评论 -
使用scikit-learn进行机器学习(scikit-learn教程1)
该章节,我们将介绍贯穿scikit-learn使用中的“机器学习(Machine Learning)”这个词汇,并给出一些简单的学习示例。前言scikit-learn (Python机器学习库)进行数据挖掘和数据分析的简单而高效的工具任何人都可使用,可在多种场景/上下文复用基于NumPy,SciPy和matplotlib构建开放源代码,可用于商业用途_BSD协议分类原创 2018-02-02 11:14:52 · 1224 阅读 · 0 评论 -
python开发技能表格
转载 2017-05-13 21:51:15 · 533 阅读 · 0 评论 -
Python time模块学习
import timeprint time.asctime()print time.clock()print time.ctime()print time.gmtime()print time.mktime(time.localtime())print time.localtime()print time.strftime('%Y-%m-%d %X', time.lo原创 2017-03-23 10:48:50 · 496 阅读 · 0 评论 -
python 的日志logging模块学习
python 的日志logging模块学习1.简单的将日志打印到屏幕 import logginglogging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message')转载 2017-03-23 10:15:19 · 371 阅读 · 0 评论 -
testlink测试用例导出xml,转为Excel格式(python)
领导想要查看redmine的任务完成情况,本人就编写了一套脚本,请大家指点原创 2017-02-23 20:44:14 · 10737 阅读 · 3 评论 -
Python连接impala并获取数据
1、安装Python packagepip install impyla2、python客户端与impala交互2.1 连接impala>>> from impala.dbapi import connect>>> conn = connect(host='my.impala.host', port=21050)>>> cur = conn.cursor()原创 2017-02-13 08:57:14 · 22341 阅读 · 0 评论