
Python
文章平均质量分 66
Zhu_Julian
这个作者很懒,什么都没留下…
展开
-
[计算机原理] 用图片解释进程和线程(非常精彩!)
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。转载 2013-04-27 10:20:34 · 2705 阅读 · 1 评论 -
[Python] 发送Email (可发HTML,附件)
在Python里我们可以使用smtplib模块发送email,smtp(Simple Mail Transfer Protocal),是简单邮件传输协议,通过它可以和smtp server进行通讯。smtplib的一个简单例子import smtplib"""The first step is to create an SMTP object, each object is used f原创 2013-05-14 13:43:31 · 12867 阅读 · 0 评论 -
[Python] 利用commands模块执行Linux shell命令
用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数:1. commands.getoutput('shell command')执行shell命令,返回结果(string类型)>>> commands.getoutput('pwd')原创 2013-07-22 22:18:01 · 50255 阅读 · 2 评论 -
[Python] 使用Django开发Web框架
Django Web框架简介Django 项目是一个 python[1]定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:用于创建模型的对象关系映射为最终用户设计的完美管理界面一流的 URL 设计设计者友好的模板语言缓存系统。Django符合MTV架构Django的安装Django的安装有两种方法原创 2013-05-13 02:58:07 · 5397 阅读 · 0 评论 -
[Python] Twiested - 基于事件驱动的网络编程
介绍 twisted 是python下一个事件驱动的网络引擎库, 支持很多种的协议.它包含了一个web服务, 多种IM客户端,服务端, 邮件服务协议. 由于规模庞大, twisted分成了几个sub-project. 一起或者分开发布.稳定性twisted并不是从0.1发展到8.1.0的. 是一下子跳到8的. 8.1.0是最新的stable的包.从successfu转载 2013-06-02 15:41:55 · 4093 阅读 · 0 评论 -
[Python] 实现网络爬虫
1、什么是网络爬虫网络爬虫是现代搜索引擎技术的一种非常核心、基础的技术,网络就好比是一张蜘蛛网,网络爬虫就像是一只蜘蛛,在网络间‘爬来爬去’,搜索有用的信息。2、抓取代理服务器的网络爬虫本文介绍用python实现抓取代理服务器的网络爬虫,主要步骤是:1)利用urllib2获取提供代理服务的网页信息(本文以http://www.cnproxy.com/proxy1.html为例)原创 2013-05-12 11:52:37 · 5237 阅读 · 1 评论 -
[Python] 正则表达式
1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语转载 2013-05-11 18:10:59 · 1470 阅读 · 0 评论 -
[Python] 多线程编程
Python 提供了几个用于多线程编程的模块,包括thread, threading 和Queue 等。thread 和threading 模块允许程序员创建和管理线程。thread 模块提供了基本的线程和锁的支持,而threading提供了更高级别,功能更强的线程管理的功能。Queue 模块允许用户创建一个可以用于多个线程之间共享数据的队列数据结构。注意:避免使用thread模块,因为它不支原创 2013-05-10 21:07:35 · 2777 阅读 · 0 评论 -
[Python] 函数lambda(), filter(), map(), reduce()
1、lambda()lambda()是Python里的匿名函数,其语法如下:lambda [arg1[, arg2, ... argN]]: expression下面是个1+2=3的例子>>> fun = lambda x,y:x+y>>> fun(1,2)3>>> (lambda x,y:x+y)(1,2)32、filter()filter(fun原创 2013-05-10 19:16:53 · 23915 阅读 · 0 评论 -
[Python] 动态类型的实现
大多数编译型语言,变量在使用前必须先声明,其中的 C 语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其它语言,像C++和Java,允许“随时随地”声明变量,比如,变量声明可以在代码块的中间,不过仍然必须在变量被使用前声明变量的名字和类型。在Python 中,无需此类显式变量声明语句,变量在第一次被赋值时自动声明,Python 中不但变量名无需事先声明,而且也无需类型声明。P原创 2013-05-10 17:10:55 · 2315 阅读 · 0 评论 -
[Python] 解释型语言 VS 编译型语言
所谓的编译型语言是指源文件必须得先编译成编译文件才能在目标机器上执行,如C、C++等,好处是性能好,因为在执行时少了编译这个步骤,但坏处是无法跨平台执行,因为编译文件和具体平台相关。所谓的解释性语言是指源文件可以直接执行,边执行边编译,如python,ruby等,好处是可以跨平台,因为源文件和具体平台无关,而坏处是边编译对执行时性能有影响。Java比较特殊,它也是得先编译才能执行,从这点上原创 2013-05-10 16:02:28 · 2551 阅读 · 0 评论 -
[Python] 网络编程(Socket)
1. Socket基础客户端与服务器连接有两种方式:TCP和UDP,TCP是面向连接的方式(三次握手、四次挥手等),可靠但耗资源,而UDP采用无连接方式,不可靠但速度快。这里面的学问很多,但大部分人知道这些就足够了2. 一个简单的TCP例子(阻塞方式)不管是Python还是其它语言,Socket编程几乎都有一个固定模板,下面看一个简单例子,用于计算阶乘和,比如客户端发送5,服务器端返回原创 2013-04-27 09:54:59 · 5571 阅读 · 1 评论 -
[Python] 安装及环境配置
1. 首先,通过wget下载Python安装包[root@TDDBA ~]# wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz2. 解压该文件[root@TDDBA python]# tar -zxvf Python-2.7.3.tgz[root@TDDBA python]# lsPython-2.7.原创 2013-05-10 16:18:39 · 2172 阅读 · 0 评论