摘要:import base64f = open("m1.jpg", "rb")res = f.read()s = base64.b64encode(res)f = open("hello.txt","w")f.write(s)
阅读全文
摘要:#!/usr/bin/env pythonclass Processor: def __init__(self, processor): self.processor = processor def isAllowSend(self, message, setChargeFlag): passclass WhildListProcessor(Processor): def isAllowSend(self, message, setChargeFlag): print "WhildListProcessor.isAll...
阅读全文
摘要:#!/usr/bin/env pythonclass Processor: def __init__(self, processor): self.processor = processor def isAllowSend(self, message, setChargeFlag): passclass WhildListProcessor(Processor): def isAllowSend(self, message, setChargeFlag): if message.sender in (1,2): ...
阅读全文
摘要:最近业务中需要用 Python 写一些脚本。尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息。很快,我就遇到了异常:Python代码UnicodeEncodeError:'ascii'codeccan'tencodecharactersinposition0-3:ordinalnotinrange(128)为了解决问题,我花时间去研究了一下 Python 的字符编码处理。网上也有不少文章讲 Python 的字符编码,但是我看过一遍,觉得自己可以讲得更明白些。下面先复述一下 Python 字符串的基础,熟悉此内容的可以跳过。htt
阅读全文
摘要:http://www.ibm.com/developerworks/cn/linux/l-cn-python-optim/代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。改进算法,选择合适的数据结构一个良好的算法能够对性能起到关键作用,因此性能改进的首要点是对算法的改进。在算法的时间复杂度排序上依次是:O(1) -> O(lg n) -> O(n lg n) -> O(n^2) -
阅读全文
摘要:http://www.oschina.net/question/1579_45822第一部分阅读Zen of Python,在Python解析器中输入import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!"毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万视频的请求. 你所要做的就是编写高效的代码和需要时使用外部实现(C/C++)代码. 这里有一些建议,可以帮
阅读全文
摘要:http://blog.csdn.net/gzlaiyonghao/article/details/2762251作者:Martijn Faassen译者:赖勇浩(http://blog.csdn.net/lanphaday)原文地址:http://faassen.n--tree.net/blog/view/weblog/2005/08/06/0注:Martijn是Zope领域的专家,他为Zope系列产品做了许多开发工作,也开发了lxml等多个开源产品。你可以在这里了解一下他的信息http://www.zope.org/Members/faassen。这篇文章写于2005年,虽然有少部分内容(
阅读全文
摘要:def test(func): print func(3,4) test(lambda x,y : x+y)test(lambda x,y : x-y)这是python的一种闭包写法,他的设计意图是保证test函数代码是稳定的,将容易变化的代码从test提取出去,而这些容易变化的代码如果不复杂,可以采用更轻量级的lambda直接定义,从而减少函数数量,降低程序复杂度
阅读全文
摘要:两种方式,第一种在python交互环境里使用help查询,第二种方式启动启动python doc server(ubuntu下试验,可以使用)pydoc -p 8000打开浏览器,访问http://localhost:8000即可查看文档,与windows类似。
阅读全文
摘要:相对于静态语言,python可以降低模块之间的耦合,例如在静态语言里,我类的方法有一个参数类型是另一个类,那么一般我就要要include进程序using BXclass AX{ void testBX(BX bx){bx.getData()} }这样,AX,BX模块就相互耦合了,然而python不需要,除非bx需要在这里创建,否则不需要导入
阅读全文
摘要:创建笔记用例(创建笔记之前需要先登录)登录用例
阅读全文
摘要:问题描述:昨天晚上通宵加班,阻滞在一个问题上,程序要导入其他目录的一个文件,而那个文件又有它自己的依赖的文件(或者叫库吧)就是导入失败,早上起来继续看,打印了程序路径(print sys.path)程序路径是我导入模块时要搜索的目录集合,发现我是通过sys.path.append追加的那个目录,它在整个目录列表最后面。我怀疑是某种原因没搜索它,因此把它插入到整个列表的开头(sys.path.insert(0,'/xxxx/yyyy'))结果就很神奇的发现,能够正确导入那个库了 --!python库加载:1)启动模块添加路径A之后,所有被启动模块加载的模块,都可以加载路径A下的模
阅读全文
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-import syssys.path.append("..")import commonclass Component: def __init__(self,data): self.url = data["url"] self.noteId = data["noteId"] self.userId = data["userId"] self.folderId = data["folderId"] def ex
阅读全文
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-'''改进的日志类:1. 使用format对象,就不用自己采集环境信息,库可以采集信息2. 将多个handler绑定到一个logger上,且每个handler设置相应级别 日志会产生多份,每个handler只记录自己的级别和含高于自己级别的日志3. 还是需要inspect库采集环境信息,因为logging的API被封装过了, format只能采集直接调用logging模块API的函数信息'''import osimport sysimport timeimpo
阅读全文
摘要:包含转义符的HTML字符串转换成为未转义的HTMLimport HTMLParserhtml_parser = HTMLParser.HTMLParser()s = '<abc>'s = html_parser.unescape(s) #这样就得到了s = '<abc>'未转义的HTML进行转义import cgis = "<b>aa</b>"cgi.escape(s)
阅读全文
摘要:安装markdown-python:http://pypi.python.org/pypi/Markdown下载Markdown-2.2.0.tar.gz,tar命令解压,sudo python setup.py install进行安装使用:进入python交互环境html = markdown.markdown("aaa\nbbb ddd <b>ccc</b>")print html输出<p>aaa\nbbb ddd <b>ccc</b></p>原文在这里http://ued.taobao.com/b
阅读全文
摘要:代码:#!/usr/bin/env python# -*- coding: utf-8 -*-'''改进的日志类:1. 使用format对象,就不用自己采集环境信息,库可以采集信息2. 将多个handler绑定到一个logger上,且每个handler设置相应级别 日志会产生多份,每个handler只记录自己的级别和含高于自己级别的日志'''import osimport sysimport timeimport logginghandlers = {logging.NOTSET:"/tmp/TNLOG-notset.log"
阅读全文
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-'''该日志类可以把不同级别的日志输出到不同的日志文件中'''import osimport sysimport timeimport loggingimport inspecthandlers = {logging.NOTSET:"/tmp/TNLOG-notset.log", logging.DEBUG:"/tmp/TNLOG-debug.log", logging.INFO:"/tmp/TNLOG-inf
阅读全文
摘要:sudo apt-get install python-setuptoolssudo easy_install BeautifulSoupsudo easy_install lxml#如果编译lxml提示缺少Python.h还需要安装下面的包sudo apt-get install python-dev#如果编译提示缺少xslt-config命令,还需要安装下面的包sudo apt-get install libxslt-dev
阅读全文
摘要:import logging'''日志级别:critical > error > warning > info > debug,notset级别越高打印的日志越少,反之亦然,即debug : 打印全部的日志(notset等同于debug)info : 打印info,warning,error,critical级别的日志warning : 打印warning,error,critical级别的日志error : 打印error,critical级别的日志critical : 打印critical级别'''handler=lo
阅读全文