随笔分类 -  Python

摘要:标准库的安装路径在import模块的时候,python是通过系统路径找到这些模块的,我们可以将这些路径打印出来:>>> pprint.pprint(sys.path)['', '/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg', '/Library/Python/2.7/site-packages/python_recsys-0.2-py... 阅读全文
posted @ 2014-02-16 13:12 糖拌咸鱼 阅读(16801) 评论(1) 推荐(1) 编辑
摘要:pylab 提供了比较强大的画图功能,但是函数和参数都比较多,很容易搞混。我们平常使用最多的应该是画线了。下面,简单的对一些常用的划线函数进行了封装,方便使用。 1 # -*- coding: utf-8 -*- 2 import pylab 3 import random 4 5 class MiniPlotTool : 6 ''' 7 A mini tool to draw lines using pylab 8 ''' 9 basecolors = ['red','green','yellow' 阅读全文
posted @ 2013-06-20 15:06 糖拌咸鱼 阅读(31125) 评论(4) 推荐(0) 编辑
摘要:理论上的东西,就不写了,也写不出什么有价值的东西,资料太多了。后文很多关于原理的讲述都给出了其他文章的引用。分享一个比较简单易懂的贝叶斯决策理论与统计判别方法。数据集:Dataset1.txt328 个同学的身高、体重、性别数据(78 个女生、250 个男生)Dataset2.txt124 个同学的数据(40 女、84 男)Dataset3.txt90 个同学的数据(16 女,74 男)问题描述: 以dataset1为训练数据库,假设身高与体重满足高斯分布,进行高斯分布的参数估计,并进行基于最小错误率的贝叶斯分类,分别考虑男女的先验概率,0.5-0.5;0.6-0.4;0.7-0.3,0.8- 阅读全文
posted @ 2013-05-06 23:24 糖拌咸鱼 阅读(7705) 评论(0) 推荐(0) 编辑
摘要:聚类是机器学习、数据挖掘相关的一类很常见的问题。关于聚类算法的介绍这里就不多写了,因为无论是教科书还是网络上都有太多的资料了。这里,用一个《Programming Collective Intelligence》中的聚类例子,写几个经典聚类算法的实现,分别是hierachiclaCluster、kmeans、kmedoids。 另外,最近一直在看数据挖掘、自然语言处理相关的东西,通过看资料发现有些东西很好理解,但是长时间不用的话,过一段时间就忘记得差不多了。其实换个角度想,也是自己对这些东西理解得不深刻。我觉得踏踏实实的实现这些算法是必要的,因为在实现过程中,我们可以发现哪些地方是算法的核心. 阅读全文
posted @ 2013-04-10 20:08 糖拌咸鱼 阅读(18471) 评论(3) 推荐(0) 编辑
摘要:平常Coding过程中,经常使用到的with场景是(打开文件进行文件处理,然后隐式地执行了文件句柄的关闭,同样适合socket之类的,这些类都提供了对with的支持): with file('test.py','r') as f : print f.readline() with的作用,类似try...finally...,提供一种上下文机制,要应用with语句的类,其内部必... 阅读全文
posted @ 2013-01-28 17:54 糖拌咸鱼 阅读(13367) 评论(0) 推荐(1) 编辑
摘要:静态方法装饰器: 在python中一般关于“静态”有静态变量和静态函数两个东西。静态变量具有全局属性,也就是说它是属于某个类的,而不是这个类所产生的实例。举个例子,下面的示例程序,表示的是统计Test类所创建出的实例个数,其中instancesCount为静态变量。在外部,用函数的方式对静态变量的访问一般有两种情况,一种是通过具体实例访问,另一种是通过类方法直接访问。那么,我们就需要静态方法来实现类的直接访问,即(类名.函数名)的方式。python提供两种方法,一种是通过staticmethod函数将函数转化为静态方法,另一种是通过装饰器的方式,将一个函数装饰成静态方法。class Test. 阅读全文
posted @ 2013-01-28 14:22 糖拌咸鱼 阅读(2815) 评论(0) 推荐(1) 编辑
摘要:基于脚本的服务器集群管理工具背景: 随着云计算服务的普及,基于云计算的PaaS、IaaS受到越来越多的关注,使用这些服务的用户也越来越多。对于一些大型的应用而言,可能包含多种服务,而这些服务需要部署在多台服务器上。例如:某个应用可能部署了10台数据库服务器,10台Web Http服务器以及5台静态文件存储服务器等。那么作为应用程序管理员来说,一台一台地登录去管理这些机器显得非常繁琐,而且对于同一种服务(比如数据库服务)的机器需要执行的管理任务又都大致相同,那么对每台机器进行重复的工作也会增加集群管理员的负担。 应对上述需求场景,我开发了这样一个基于脚本的服务器集群管理工具,它主要具有如下功能和 阅读全文
posted @ 2012-10-28 11:38 糖拌咸鱼 阅读(4561) 评论(9) 推荐(0) 编辑
摘要:其实这是个小技巧,记录下。最近,我一直在windows环境下,用虚拟机进行linux,PuTTY ssh连接虚拟机进行程序开发的。后来,发现两个系统间传递文件实在有点麻烦,本来想搭个ftp或是写个HTTPserver,后来发现SimpleHttpServer十分好用。直接python -mSimpleHttpServer 8000 ,就可以在当前目录下直接创建一个http server。在其他机器上,用浏览器就可是访问这个文件夹了,共享文件轻松多了。 阅读全文
posted @ 2012-09-28 15:46 糖拌咸鱼 阅读(4096) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2012-07-14 18:26 糖拌咸鱼 阅读(256) 评论(2) 推荐(0) 编辑
摘要:最近,一直在做网络爬虫相关的东西。 看了一下开源C++写的larbin爬虫,仔细阅读了里面的设计思想和一些关键技术的实现。1、larbin的URL去重用的很高效的bloom filter算法; 2、DNS处理,使用的adns异步的开源组件; 3、对于url队列的处理,则是用部分缓存到内存,部分写入文件的策略。 4、larbin对文件的相关操作做了很多工作 5、在larbin里有连接池,通过创建套接字,向目标站点发送HTTP协议中GET方法,获取内容,再解析header之类的东西 6、大量描述字,通过poll方法进行I/O复用,很高效 7、larbin可配置性很强 8、作者所使用的大量数据结构. 阅读全文
posted @ 2012-03-16 23:53 糖拌咸鱼 阅读(16351) 评论(10) 推荐(3) 编辑
摘要:什么是线程池?诸如web服务器、数据库服务器、文件服务器和邮件服务器等许多服务器应用都面向处理来自某些远程来源的大量短小的任务。构建服务器应用程序的一个过于简单的模型是:每当一个请求到达就创建一个新的服务对象,然后在新的服务对象中为请求服务。但当有大量请求并发访问时,服务器不断的创建和销毁对象的开销很大。所以提高服务器效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁,这样就引入了“池”的概念,“池”的概念使得人们可以定制一定量的资源,然后对这些资源进行复用,而不是频繁的创建和销毁。线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程 阅读全文
posted @ 2012-03-10 20:36 糖拌咸鱼 阅读(33491) 评论(2) 推荐(8) 编辑
摘要:任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对mysql数据库操作的模块。官方Introduction :MySQLdb is an thread-compatible interface to the popular MySQLdatabase server that provides the Python database API. 它其实相当于翻译了对应C的接口。 使用这种数据库接口大多是就是执行连接数据库->执行query->提取数据->关闭连接 这几个步骤。MySQLdb提供比较关 阅读全文
posted @ 2012-01-12 16:51 糖拌咸鱼 阅读(45697) 评论(3) 推荐(6) 编辑
摘要:安装步骤:1、sudo apt-get install python-setuptools2、sudo apt-get install libmysqld-dev3、sudo apt-get install libmysqlclient-dev4、sudo apt-get install python-dev5、sudo easy_install mysql-python测试下:在python交互式窗口,import MySQLdb 试试,不报错的话,就证明安装好了。eclipse 检测出错:如果平常是在eclipse pydev 下进行python开发的话,那么直接在eclipse环境下使用 阅读全文
posted @ 2012-01-11 12:56 糖拌咸鱼 阅读(14516) 评论(3) 推荐(1) 编辑
摘要:python中的xml.dom模块使用的就是传统的dom解析api和方法。所以也就不写什么了,主要就是练习敲敲代码,继续熟悉python。本文通过xml.dom.minidom创建一个xml文档,然后再解析出来,用以熟悉相关接口方法的使用。创建一个xml文档:'''Created on 2012-1-10Create a xml document@author: xiaojay'''from xml.dom import minidomdoc = minidom.Document()doc.appendChild(doc.createCommen 阅读全文
posted @ 2012-01-10 17:08 糖拌咸鱼 阅读(24208) 评论(1) 推荐(0) 编辑
摘要:很早之前,在.net平台下写过一个分析html代码的程序,那时候的思想是将html代码解析成一棵类似树的结构,然后在分析其中的标签。Python中,HTTPParser模块,更像是在过程中进行解析,模拟遇到开始标签怎样开始,怎样处理属性和值,又当遇到结束标签该怎样结束等等过程。对于格式规范、代码简洁的html容易解析,如果复杂、不规范的html解析会很繁琐。HTTPParser:HTMLParser是python用来解析html的模块。它可以分析出html里面的标签、数据等等,是一种处理html的简便途径。 HTMLParser采用的是一种事件驱动的模式,当HTMLParser找到一个特... 阅读全文
posted @ 2012-01-09 14:17 糖拌咸鱼 阅读(10607) 评论(0) 推荐(0) 编辑
摘要:首先列一下,sellect、poll、epoll三者的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。select的一个缺点在于单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024,不过可以通过修改宏定义甚至重新编译内核的方式提升这一限制。... 阅读全文
posted @ 2012-01-06 22:12 糖拌咸鱼 阅读(47479) 评论(8) 推荐(11) 编辑
摘要:最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结。 了解c语言的人,一定会知道struct结构体在c语言中的作用,它定义了一种结构,里面包含不同类型的数据(int,char,bool等等),方便对某一结构对象进行处理。而在网络通信当中,大多传递... 阅读全文
posted @ 2011-12-17 16:14 糖拌咸鱼 阅读(116520) 评论(7) 推荐(20) 编辑
摘要:什么是json:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。JSON建构于两种结构:“名称/值”对的集合(A collec 阅读全文
posted @ 2011-12-14 16:21 糖拌咸鱼 阅读(420067) 评论(17) 推荐(25) 编辑
摘要:最近比较闲,想学习一门脚本语言,于是选择了python进行学习,之前对脚本语言不是很熟悉,所以不对python好坏做任何评价。希望通过学习python,能让自己对脚本语言有更深刻的认识吧。Python的执行过程:当程序执行时,python内部会先将源代码编译成所谓的字节码的形式。字节码是源代码底层的、与平台无关的表现形式。编译字节码的过程中,会生成一个.pyc的文件,这个文件就是编译之后的字节码。Python真正在运行的就是这个字节码文件,如果生成字节码文件之后没有再修改过源代码的话,下次程序运行会跳过编译这个步骤,直接运行pyc文件,这是一种启动速度的优化。字节码文件被发送到python虚拟 阅读全文
posted @ 2011-12-11 22:21 糖拌咸鱼 阅读(4429) 评论(1) 推荐(0) 编辑