我和Python】的更多相关文章

一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个需求:要在测试环境创建10000个作业流. 最开始的想法是在一个azkaban project下循环调用10000次create job接口(每个Flow只包含一个job).由于azkaban它本身没有增加/删除作业流的接口,所有的作业流修改.增加.删除其实都是通过重新上传项目zip包实现的,相应地…
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%' string formatting operator. 1.百分号…
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) Return True if any element of the iterable is true. If the iterable is empty, return False 如果序列中任何一个元素为True,那么any返回True.该函数可以让我们少些一个for循环.有两点需要注意 (1)如…
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编程作为自己职业生涯的起点.如何学好编程?如何成为优秀的程序员?如何规划好程序员这个职业?是许多年轻人关注的问题.在Infoworld最近做的一次调查中,邀请到了JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Spring Framework创建者Rod…
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Python, Java, 经验] category: Python --- 我曾经是一个对Java非常反感的人,因为Java的语法非常啰嗦.而用惯了动态类型的Python再使用静态类型的Java就会觉得多出了很多的工作量. 因为工作的关系,我开始使用Java来做项目.在这个过程中,我发现Java在某些方面…
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import ImageGrab pic = ImageGrab.grab() pic.save('1.jpg') 但是考虑到被控端应该尽量的精简,对其他模块尽量少的依赖,这样才能比较方便的部署,因此我考虑能否有一种方法,不依赖PIL来实现截图的功能. 思路 由于被控端使用了win32api, 因此有一个方法: win32api.k…
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但是当字节值>127时,默认解析便会出现问题. x="abc"+chr(150) print repr(x) #'abc\x96' u"Hello" + x #UnicodeDecodeError: 'ASCII' codec can't decode byte 这…
由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里就不写了. vim /etc/httpd/conf/httpd.conf LoadModule cgid_module modules/mod_cgid.so AddHandler cgi-script .cgi .py ScriptAlias /cgi-bin/ "/var/www/cgi-bin…
引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ply使用 简介 如果你不是从事编译器或者解析器的开发工作,你可能从未听说过ply.ply是基于python的lex和yacc,而它的作者就是大名鼎鼎Python Cookbook, 3rd Edition的作者.可能有些朋友就纳闷了,我一个业务开发怎么需要自己写编译器呢,各位编程大牛说过,中央决定…
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争取以后多上博客园写写总结吧,真是怀念学生时代啊!!! 背景 项目组开发的游戏客户端使用的脚本是python,服务器也是python.之所以选择python,主要还是基于开发效率的考虑,毕竟这是脚本语言天生的优势:其次就是有很多库,不用自己再造轮子了.可能使用过python的同学都会认为python比…
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的优势,又抛弃了基层语言的繁杂. 第一天:函数的使用 和c语言一样,python有自己集成好的函数库,而我们就是使用..像字符串函数(可以使用help(str)进行查看): 会出来一大堆的形容,作为一个新手,我也根本不懂这到底是什么鬼,但是往下走,可以发现很多的函数. 许多的函数也是用英语在进行介绍,…
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了一下python模拟登陆,网上关于这部分的资料很多,很多demo都是登陆知乎的,原因是知乎的登陆比较简单,只需要post几个参数,保存cookie.而且还没有进行加密,很适合用来做教学.我也是是新手,一点点的摸索终于成功登陆上了知乎.就通过这篇文章分享一下学习这部分的心得,希望对那些和我一样的初学者…
python自动化测试(2) 自动化基本技术原理 1   概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领可不是容易的事情,必须要有扎实的计算机理论基础,才能看到深层次的本质东西. 2   应用软件逻辑结构 数据库应用系统 可能是最典型的网络应用程序了,关于它的软件架构如下: 一般在逻辑上分为4层: 用户界面层 UI 为终端用户提供交互的人机界面 业务逻辑层 BLL 将数据库抽象出来的对象进行拼接成具体…
下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print(result) 字符^:匹配以什么开头 import re st = 'python' result = re.findall('^py',st) print(result) 字符$:匹配以什么结尾 import re st = 'python' result = re.findall('n$',s…
基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object set(iterable) -> new set object Build an unordered collection of unique elements. """ def add(self, *args, **kwargs): # real signature un…
一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-9223372036854775807 class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or l…
安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好python代码,使用快捷键ctrl+b就可以运行了,会在当前窗口的下方出现运行的结果.比如 print("hello world!") 但是,要是使用了input这类需要交互的函数,ctrl+b运行就会出现错误 print("hello world!") x = input(&…
Python简介 1:Python的创始人 Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种解释型.面向对象.动态数据类型的高级程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. Python社区的人赋予他"…
1.安装windows安装双版本Python2,Python3 下载Python2和Python3https://www.python.org/downloads/ 分别安装两个版本 进入Python3的安装目录后,将Python.exe重命名为Python3.exe,删除脚本文件夹下的pip.exe 添加环境变量 Python3安装后已经默认添加到环境变量中,这里只需要添加Python2的环境变量 添加到PATH中 C:\Python27C:\Python27\Scripts 测试是否成功 在…
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4> 注意语句后面的冒号:.像经典的C.Java都是以花括号来区分代码块,但是Python没有使用花括号表示,而是缩进,所以一定需要了解它们的语法区别. 示例: age = 3…
title: Python的单元测试(二) date: 2015-03-04 19:08:20 categories: Python tags: [Python,单元测试] --- 在Python的单元测试(一)中,我们讲了单元测试的概念以及一个简单的单元测试例子. 在这个例子中,只有三个函数,于是可以把每个函数的输出结果打印到屏幕上,再用肉眼去看结果是否符合预期.然而假设有一个程序,有二十个类,每个类又有几十个函数,有些函数的输出结果还多达几十行,在这种情况下,肉眼如何看得出? 当然你可以使用…
title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] --- 测试驱动的软件开发方式可以强迫程序员在开发程序的时候使程序的函数之间实现高内聚,低耦合.这样的方式可以降低函数之间的依赖性,方便后续的修改,增加功能和维护. 说一个函数高内聚,就是指这个函数专注于实现单一的任务,不会做除了生产这个任务以外的其他事情.可以想象一个人,他把自己关在一个小房子里面生产…
Package Control Package Control 是Sublime 里直接安装附加插件的包管理器.可以通过以下步骤手动安装: 1.点击Preferences > Browse Packages菜单 2.进入打开的目录的上层目录,然后再进入Installed Packages/目录 3.下载 Package Control.sublime-package 并复制到Installed Packages/目录 4.重启Sublime Text. 安装python,并添加执行程序到环境变量…
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 Python 3.5 增加了一个有意思的库--typing.这将会给Python增加了类型暗示.类型暗示是一种可以将你的函数变量声明为一种特定类型的声明.当然,类型暗示并不是绑定.它仅仅是暗示,所以这种机制并不能阻止工程师传入他们不应该传入的参数.这个就是Python.你可以在PEP 484中阅读类型暗示的说明,或者你也可以在PEP 483 阅读背后…
1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情.例如,你可能想要打开一个文件,然后写入一些内容,最后再关闭文件.这或许就是上下文管理器中一个最经典的示例.事实上,当你利用with语句打开一个文件时,Python替你自动创建了一个上下文管理器. with open("test/test.txt","w") as f_o…
1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >&g…
1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然,我们也会了解如何创建它们,在我们需要的时候,就可以创建属于我们自己的迭代器和生成器. 2 模块使用 2.1 迭代器 迭代器是一个允许你在一个容器上进行迭代的对象.Python的迭代器主要通过两个方法实现:__iter__和__next__.__iter__要求你的容器支持迭代.它会返回迭代器对象本…
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) #-*- coding: utf-8 -*- import MySQLdb, datetime, time #code数字含义 code_mean = {10:"开始下载(10)", 11:"下载完成(11)", 12:"安装界面(12)", 13:&…
目前公司主要开发安卓平台的APP,平时测试经常需要使用monkey测试,所以尝试了下用python调用monkey,代码如下: import os apk = {'j': 'com.***.test1', 'h': 'com.***.test2'} print 'enter \'j\' to test test1' print 'enter \'h\' to test test2' #choose apk while True: test_apk = raw_input('which apk d…
很多pythonic的代码都会用到内置方法,根据自己的经验,罗列一下自己知道的内置方法. __getitem__ __setitem__ __delitem__ 这三个方法是字典类的内置方法,分别对应于查找.设置.删除操作,以一个简单的例子说明: class A(dict): def __getitem__(self, key): print '__getitem__' return super(A, self).__getitem__(key) def __setitem__(self, ke…