摘要: #这几种文件编码的方式,python2都支持。#utf-8,utf8都行,大小写没关系。#一定要放在文件的开头的第一行或第二行# encoding=utf8# encoding=utf-8# -*- coding: utf-8 -*-# -*- coding: utf8 -*-# encoding:utf8# encoding:utf-8# -*- coding=utf-8 -*-# -*- coding=utf8 -*-#不写则默认编码是ascii,Python3 则默认 UTF-8 了 阅读全文
posted @ 2013-02-06 14:29 独孤侠 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 年底了,身边的许多同事都已经回家了,也就在这个时候才有闲下来的时间,作为一名一直从事于互联网运维行业的人来说,经常有人问到,作为一名运维人员,需要掌握哪些技术呢?现在就来回答下运维人员需要掌握的知识和能力:1. 操作系统知识对于操作系统来说目前很多,我主要从事的是linux服务相关的运维工作,但平常也有一些windows相关的问题需要处理对于操作系统原理我们也需要相应的有所了解,这样对于我们深入了解操作系统的运行情况以及分析和定位问题也有一定的帮助2. 开源组件知识对于一个大型的互联网架构一般会分成接入层,逻辑层,数据层。对应我们就需要掌握以下知识和:接入层:DNS, LVS, Nginx, 阅读全文
posted @ 2013-02-06 10:30 独孤侠 阅读(4517) 评论(0) 推荐(0) 编辑
摘要: 切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置 开始 ,刚好在 结束 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。这样,shoplist[1:3]返回从位置1开始,包括位置2,但是停止在位置3的一个序列切片,因此返回一个含有两个项目的切片。类似地,shop 阅读全文
posted @ 2013-02-04 12:03 独孤侠 阅读(284) 评论(0) 推荐(0) 编辑
摘要: #!/usr/bin/env pythonimport threadingfrom time import sleep, ctimeloops = [4, 2]def loop(nloop, nsec): print 'start loop', nloop, 'at:', ctime() sleep(nsec) print 'loop', nloop, 'done at:', ctime()def main(): print 'starting at:', ctime() thread = [] nloops .. 阅读全文
posted @ 2013-02-04 12:01 独孤侠 阅读(2058) 评论(0) 推荐(0) 编辑
摘要: 绑定和方法调用静态方法和类方法组合派生继承多重继承经典类:深度优先,从左至右进行搜索,取得在子类中使用的属性新式类:广度优先,从左至右进行搜索,取得在子类中使用的属性参考文档:http://python.org/download/releases/2.3/mro/http://docs.python.org/release/2.2.3/whatsnew/http://www.python.org/dev/peps/pep-0252/ 阅读全文
posted @ 2013-02-04 11:54 独孤侠 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 类类允许派生,可以创建一个子类,它也是类,而且继承了父类所有的特征和属性。类体由所有声明语句,类成员定义,数据属性和函数组成。类属性仅与其被定义的类相绑定。python严格要求,没有实例,方法是不能被调用的。方法必须绑定才能直接被调用。非绑定的方法可能被调用,但实例对象一定要明确给出,才能确保调用成功。特殊的类属性C.__name__ 类C的名字C.__doc__ 类C的文档字符串C.__bases__ 类C的所有父类构成的元组C.__dict__ 类C的属性C.__module__ 类C定义所在的模块C.__class__ 实例C对应的类 文档字符串不能被派生类继承,也就是说派生类必须含有. 阅读全文
posted @ 2013-02-04 11:52 独孤侠 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1. 类与实例类是对象的定义 实例是真正的实物,它存放了类中所定义的对象的具体信息class MyNewObjectType(bases): 'define MyNewOjbectType class' class_suiteclass MyNewObjectType:'define MyNewOjbectType classic class'class_suite新式类和经典类声明的最大不同在于,所有新式类必须继承至少一个父类,参数bases可以是一个或多个用于继承的父类创建一个实例的过程称作实例化 myFirstObject = MyNewObjectTyp 阅读全文
posted @ 2013-02-04 11:45 独孤侠 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1. python中的异常NameError: 尝试访问一个未申明的变量ZeroDivisionError: 除数为零SyntaxError: 解释器语法错误IndexError: 请求的索引超出序列范围KeyError: 请求一个不存在的字典关键字IOError: 输入/输出错误AttributeError: 尝试访问未知的对象属性ValueError: 值错误TypeError: 类型错误SystemExit: 当前python应用程序需要退出KeyboardInterupt: 用户按下CTRL+C关闭python2. 检测和处理异常异常可以通过try语句来检测try语句有两种主要形式:t 阅读全文
posted @ 2013-02-04 11:40 独孤侠 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 由于Python设计的限制(我说的是咱们常用的CPython)。最多只能用满1个CPU核心。Python提供了非常好用的多进程包multiprocessing,你只需要定义一个函数,Python会替你完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。1、新建单一进程如果我们新建少量进程,可以如下:importmultiprocessingimporttime deffunc(msg): fori inxrange(3): printmsg time.sleep(1) if__name__ =="__main__": p =m... 阅读全文
posted @ 2013-02-04 11:23 独孤侠 阅读(494) 评论(0) 推荐(0) 编辑