技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

随笔分类 -  Python

1 2 3 下一页

python将图片转为base64编码
摘要:import base64f = open("m1.jpg", "rb")res = f.read()s = base64.b64encode(res)f = open("hello.txt","w")f.write(s) 阅读全文

posted @ 2014-10-22 11:26 codestyle 阅读(1988) 评论(0) 推荐(0) 编辑

通过调试的重构代码(设计是对的,但是实现过程却有诸多的问题)
摘要:#!/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... 阅读全文

posted @ 2014-01-02 16:32 codestyle 阅读(542) 评论(0) 推荐(0) 编辑

针对上一篇文章中的代码,想出的重构方案(python实现)
摘要:#!/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): ... 阅读全文

posted @ 2014-01-02 13:09 codestyle 阅读(1152) 评论(0) 推荐(0) 编辑

也谈 Python 的中文编码处理
摘要:最近业务中需要用 Python 写一些脚本。尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息。很快,我就遇到了异常:Python代码UnicodeEncodeError:'ascii'codeccan'tencodecharactersinposition0-3:ordinalnotinrange(128)为了解决问题,我花时间去研究了一下 Python 的字符编码处理。网上也有不少文章讲 Python 的字符编码,但是我看过一遍,觉得自己可以讲得更明白些。下面先复述一下 Python 字符串的基础,熟悉此内容的可以跳过。htt 阅读全文

posted @ 2013-12-17 10:33 codestyle 阅读(532) 评论(0) 推荐(0) 编辑

Python 代码性能优化技巧
摘要: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) - 阅读全文

posted @ 2013-09-25 17:16 codestyle 阅读(302) 评论(0) 推荐(0) 编辑

Python性能鸡汤
摘要:http://www.oschina.net/question/1579_45822第一部分阅读Zen of Python,在Python解析器中输入import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!"毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万视频的请求. 你所要做的就是编写高效的代码和需要时使用外部实现(C/C++)代码. 这里有一些建议,可以帮 阅读全文

posted @ 2013-09-25 17:14 codestyle 阅读(219) 评论(0) 推荐(0) 编辑

Pythonic到底是什么玩意儿?
摘要: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年,虽然有少部分内容( 阅读全文

posted @ 2013-09-13 13:02 codestyle 阅读(566) 评论(0) 推荐(0) 编辑

python的闭包以及闭包在设计里的意图和作用
摘要:def test(func): print func(3,4) test(lambda x,y : x+y)test(lambda x,y : x-y)这是python的一种闭包写法,他的设计意图是保证test函数代码是稳定的,将容易变化的代码从test提取出去,而这些容易变化的代码如果不复杂,可以采用更轻量级的lambda直接定义,从而减少函数数量,降低程序复杂度 阅读全文

posted @ 2013-08-08 10:02 codestyle 阅读(328) 评论(0) 推荐(0) 编辑

python的MSDN
摘要:两种方式,第一种在python交互环境里使用help查询,第二种方式启动启动python doc server(ubuntu下试验,可以使用)pydoc -p 8000打开浏览器,访问http://localhost:8000即可查看文档,与windows类似。 阅读全文

posted @ 2013-05-19 18:02 codestyle 阅读(318) 评论(0) 推荐(0) 编辑

闲话python
摘要:相对于静态语言,python可以降低模块之间的耦合,例如在静态语言里,我类的方法有一个参数类型是另一个类,那么一般我就要要include进程序using BXclass AX{ void testBX(BX bx){bx.getData()} }这样,AX,BX模块就相互耦合了,然而python不需要,除非bx需要在这里创建,否则不需要导入 阅读全文

posted @ 2013-03-06 16:10 codestyle 阅读(164) 评论(0) 推荐(0) 编辑

测试用例的代码复用
摘要:创建笔记用例(创建笔记之前需要先登录)登录用例 阅读全文

posted @ 2012-11-21 13:20 codestyle 阅读(261) 评论(0) 推荐(0) 编辑

小记开发过程中一个问题,以及python库加载
摘要:问题描述:昨天晚上通宵加班,阻滞在一个问题上,程序要导入其他目录的一个文件,而那个文件又有它自己的依赖的文件(或者叫库吧)就是导入失败,早上起来继续看,打印了程序路径(print sys.path)程序路径是我导入模块时要搜索的目录集合,发现我是通过sys.path.append追加的那个目录,它在整个目录列表最后面。我怀疑是某种原因没搜索它,因此把它插入到整个列表的开头(sys.path.insert(0,'/xxxx/yyyy'))结果就很神奇的发现,能够正确导入那个库了 --!python库加载:1)启动模块添加路径A之后,所有被启动模块加载的模块,都可以加载路径A下的模 阅读全文

posted @ 2012-10-26 08:35 codestyle 阅读(241) 评论(0) 推荐(0) 编辑

python:装饰模式的一个实现
摘要:#!/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 阅读全文

posted @ 2012-10-25 23:35 codestyle 阅读(303) 评论(0) 推荐(0) 编辑

再次改进日志类 --!
摘要:#!/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 阅读全文

posted @ 2012-10-17 17:18 codestyle 阅读(226) 评论(0) 推荐(0) 编辑

python:HTML转义
摘要:包含转义符的HTML字符串转换成为未转义的HTMLimport HTMLParserhtml_parser = HTMLParser.HTMLParser()s = '&lt;abc&gt;'s = html_parser.unescape(s) #这样就得到了s = '<abc>'未转义的HTML进行转义import cgis = "<b>aa</b>"cgi.escape(s) 阅读全文

posted @ 2012-10-16 14:33 codestyle 阅读(1215) 评论(0) 推荐(0) 编辑

markdown 入门
摘要:安装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 阅读全文

posted @ 2012-10-16 11:55 codestyle 阅读(536) 评论(0) 推荐(0) 编辑

改进的日志类
摘要:代码:#!/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" 阅读全文

posted @ 2012-10-10 14:17 codestyle 阅读(151) 评论(0) 推荐(0) 编辑

python: 不同级别的日志输出到不同文件的日志类
摘要:#!/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 阅读全文

posted @ 2012-10-10 11:20 codestyle 阅读(3884) 评论(0) 推荐(0) 编辑

python:easy_install安装第三方库
摘要: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 阅读全文

posted @ 2012-09-03 19:58 codestyle 阅读(400) 评论(0) 推荐(0) 编辑

python: logging日志级别详解
摘要: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 阅读全文

posted @ 2012-08-15 23:30 codestyle 阅读(8649) 评论(1) 推荐(2) 编辑

1 2 3 下一页
点击右上角即可分享
微信分享提示