欢迎访问小程序员!

在最近的测试中,使用gtest测试框架对c语言代码进行测试,结果以XML文件来保存,但是测试结果的查阅和分析非常不方便。便想着把xml的结果直接转为HTML文件,方便和Jenkins系统对接显示。因现在的测试方法是使用Python脚本来控制gtest的测试文件运行的,故选用Python脚本来实现xml转html的功能。 先看结果: 个人对于html不是很熟悉,只是简单的了解各个元素。要求只有一个,生成的结果清晰明了,便于查阅即可。   环境准备: 安装libxml2 libxstl模块 Python 2.7 ....

#!/usr/bin/env python # coding: utf-8 # Author : toddlerya # Date: Jan 18 2015 import urllib2 import re import sys import os url = "http://www.360kb.com/kb/2_122.html" req = urllib2.Request(url) html = urllib2.urlopen(req).read() head_ ....

下面这个小工具包含了 判断unicode是否是汉字,数字,英文,或者其他字符。 全角符号转半角符号。 unicode字符串归一化等工作。   #!/usr/bin/env python # -*- coding:GBK -*-    """汉字处理的工具: 判断unicode是否是汉字,数字,英文,或者其他字符。 全角符号转半角符号。""" def is_chinese(uchar):         """判断一个u ....

1 前言 最近在研究利用org-mode写博客,其他一切都深得我心、甚合吾意,就是代码染色发布html这一点要给差评。org-mode利用htmlize 插件给 src block 中的代码着色,让文章中的代码块输出html后的颜色于你在emacs上看到的相同。可问题在于,我emacs上背景是暗黑系的,而我博客上是浅色系,因此代码高亮风格不相调和,何况高亮主题单一不可定制,输出代码行号丑陋不堪,当然这都可以用elisp解决,可是想必是繁杂晦色无比(要调色啊…) 于是,我又再次投入万能的Python的怀抱,直 ....

      看知乎的时候发现了一个 “如何正确地吐槽” 收藏夹,里面的一些神回复实在很搞笑,但是一页一页地看又有点麻烦,而且每次都要打开网页,于是想如果全部爬下来到一个文件里面,是不是看起来很爽,并且随时可以看到全部的,于是就开始动手了。 工具 1.Python 2.7 2.BeautifulSoup 分析网页 我们先来看看知乎上该网页的情况: 网址: ,容易看到,网址是有规律的,page慢慢递增,这样就能够实现全部爬取了。 再来看一下我们要爬取的内容:  我们要爬取两个内容:问题和回答,回答仅限于显示了全 ....

在任何编程语言中,函数的应用主要出于以下两种情况: 代码块重复,这时候必须考虑用到函数,降低程序的冗余度 代码块复杂,这时候可以考虑用到函数,增强程序的可读性 当流程足够繁杂时,就要考虑函数,及如何将函数组合在一起。在Python中做函数设计,主要考虑到函数大小、聚合性、耦合性三个方面,这三者应该归结于规划与设计的范畴。高内聚、低耦合则是任何语言函数设计的总体原则。 如何将任务分解成更有针对性的函数从而导致了聚合性 如何设计函数间的通信则又涉及到耦合性 如何设计函数的大小用以加强其聚合性及降低其耦合性 【聚 ....

【import模块】 和C中的#include不同,Python中的import语句并不是简单的把一个文件插入另外一个文件。 导入其实是运行时的运算,程序第一次导入指定文件时,会执行以下步骤, 1. 找到模块文件 2. 编译成位码 3. 执行模块中的代码来创建所定义的模块 并生成.pyc字节码文件,这三个步骤只在程序执行时,模块第一次导入时会进行。之后导入相同的模块时,会跳过这三个步骤,而只提取内存中已加载的模块对象,速度要快的多。 NOTE:  1. Python把已加载的模块放在内置的sys.modul ....

我是闲的没事干,2014过的太浮夸了,博客也没写几篇,哎~~~ 用这篇来记录即将逝去的2014   python对各种数据库的各种操作满大街都是,不过,我还是喜欢我这种风格的,涉及到其它操作,不过重点还是对数据库的操作。呵~~   Python操作Mysql 首先,我习惯将配置信息写到配置文件,这样修改时可以不用源代码,然后再写通用的函数供调用 新建一个配置文件,就命名为conf.ini,可以写各种配置信息,不过都指明节点(文件格式要求还是较严格的): [app_info] DATABASE=test ....

Python是优雅的,使用这些库可以使你的代码更简洁,并保持持久性。欢迎各位补充,并提出意见! Docopt。抛弃optparse和argparse吧,使用docstrings来构建优雅的,可读性强的,并且复杂(如果你需要的话)的命令行界面。IMO2013年创建的最好的库。 Requests,或称为人类使用的HTTP,是一个处理HTTP请求更为pythonic 的方法,比urllib2更更更好用。口碑可见,他在PyPI上下载已经超过5,000,000次 :) lxml是libxml2和libxslt的合 ....

前一段时间公司需要爬取部分web页面的数据使用。但是页面中的主要数据是ajax load出来的,传统的抓取方法是拿不到数据的。后来在网上发现了phantomjs,在无界面的情况下运行js,渲染dom。用这个工具抓取ajax load出来的数据再方便不过啦。 系统环境:CentOS release 6.5 (Final) phantomjs版本:1.9.8 phantomjs抓取加载完整的dom结构。说到phantomjs怎么把数据传递给处理程序,我看到网上很多人是写一个本地文件,然后具体的处理程序再读取那个 ....

一、简介: python udp是无连接,没有TCP的三次握手,错误重传机制,发的只管发,收的只管收,效率比TCP高,运用于对数据帧不高的地方,如视频,音频的传输 二、实现过程:    服务器端过程如下: 1.建立UDP的SOCKET 2.绑定一个接口,让客户端连接 3.接受数据  客户端过程如下: 1.创建一个socket 2.收发数据报 三、代码实现     1.服务器端: import socket from time import ctime def udpServer(): buff ....

Python2 的话,应该。 因为可迭代对象如果在迭代过程中长度发生了变化,就会引发 Runtime Error ,所以在 for k in some_dict: 这样的语句中,是不可以使用 .pop() 或 .update() 方法的: RuntimeError Traceback (most recent call last) ----> 1 for k in foo: 2 foo.pop(k) RuntimeErro ....

我们将会看到一些在Python中使用线程的实例和如何避免线程之间的竞争。 你应当将下边的例子运行多次,以便可以注意到线程是不可预测的和线程每次运行出的不同结果。声明:从这里开始忘掉你听到过的关于GIL的东西,因为GIL不会影响到我想要展示的东西。 示例1 我们将要请求五个不同的url: 单线程 import time import urllib2 def get_responses(): urls = [ 'http://www.google.co ....

上一篇文章, 使用python的Flask实现一个RESTful API服务器端  简单地演示了Flask实的现的api服务器,里面提到了因为无状态的原则,没有session cookies,如果访问需要验证的接口,客户端请求必需每次都发送用户名和密码。通常在实际app应用中,并不会每次都将用户名和密码发送。 这篇里面就谈到了产生token的方法。 完整的例子的代码 可以在github:REST-auth 上找到。作者欢迎大家上去跟他讨论。 创建用户数据库 这个例子比较接近真实的项目,将会使用Flask-S ....

最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了。 本文将会使用python的Flask框架轻松实现一个RESTful的服务。 REST的六个特性: Client-Server:服务器端与客户端分离。 Stateless(无状态):每次客户端请求必需包含完整的信息,换句话说,每一次请求都是独立的。 Cacheable(可缓存):服务器端必需指定哪些请求是可以缓存的。 Layered System(分层结构):服务器端与客户端通讯必需 ....

我确定有很多关于Unicode和Python的说明,但为了方便自己的理解使用,我还是打算再写一些关于它们的东西。 字节流 vs Unicode对象 我们先来用Python定义一个字符串。当你使用string类型时,实际上会储存一个字节串。 [ a ][ b ][ c ] = "abc" [ 97 ][ 98 ][ 99 ] = "abc" 在这个例子里,abc这个字符串是一个字节串。97.,98,,99是ASCII码。在Python 2.x ....

本文介绍如何通过Python标准库gettext帮助你的程序支持多语言。 代码例子 import random guessesTaken = 0 print(_("Hello! What's your name?")) myName = input() number = random.randint(1, 20) print("Well, {}, I am thinking of a number between 1 and 20.".format(myNa ....

#!/usr/bin/env python import random # 'abc..z' alphaStr = "".join(map(chr, range(97,123))) fp = open("word.txt", "w") maxIter = 100000 for i in range(maxIter): word = "" len =random.randint(1,5) ....

到目前为止,我用Eclipse已经有一些年头了,大部分的时间都是用来写Python(安装Pydev插件)以及C++(安装CDT插件)。 最近我从一个好友那听说了PyCharm以及它新的免费社区版logr。我这个朋友用Eclipse也很长时间了,对PyCharm也是赞不绝口,所以我决定至少在家办公的时候试着用用PyCharm。目前为止,我已经深深的喜欢上了它,甚至于在日常工作时也用PyCharm(社区版采用Apache2授权)。 以下我将会介绍一些在我在使用PyCharm时感到惊奇的一些事情。 ....

   新手学习python,经常要使用python命令行查找一些不熟悉的使用方法等等,但是python命令行下没有自带tab补全的功能,着实让我这新手菜了....不过这好在是个互联网的时代,没有多大的事,互联一下,特此记录。 vi tab.py #!/usr/bin/env python # python startup file import sys import readline import rlcompleter import atexit import os # tab com ....