摘要:
1、CPU虚拟化 KVM的虚拟化需要CPU硬件支持,当前,CPU厂商Intel和AMD都支持虚拟化了,执行命令egrep -o '(vmx|svm)' /proc/cpuinfo,如果有vmx或者svm的返回,则证明CPU支持虚拟化。 虚拟机CPU,内存以及一系列虚拟硬件由Hypervisor提供, 阅读全文
摘要:
Xen是一个开源的VMM,是由剑桥大学实验室开发的一个项目,是一个直接运行在计算机硬件之上的用以替代操作系统的软件层,它能够在计算机硬件上并发的运行多个GuestOS。 在xen的使用方式中,分为完全虚拟化与半虚拟化(超虚拟化)两种。全虚拟化是由Hypervisor提供所有的虚拟硬件,操作系统不经过 阅读全文
摘要:
import itertools class Set(list): def __init__(self, params): super(Set, self).__init__() self.extend(reduce(lambda x, y: x if y in x else x + [y], [[ 阅读全文
摘要:
gevent是基于协程的Python网络库。 协程存在的意义:对于多线程应用,CPU通过切片的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续)。协程,则只使用一个线程,在一个线程中规定某个代码块执行顺序,当程序中存在大量不需要CPU的操作时(IO),适用于协程。 特点:基于libev 阅读全文
摘要:
在json转xml时,首先传进来的一定是一个dict,如果不是需要转一下,然后开始迭代,遇到dict则递归,如果是list则循环递归,否则认为是文字,将其写入,逻辑不复杂,因为为了代码循环不是太频繁,所以没再在list里判断,而是在最开始做下判断,具体实现代码如下: 阅读全文
摘要:
xml转dict 最开始的时候一直是按格式比较严谨的XML格式进行的转换,所以一般只需要考虑两种情况就可以了,即各个节点或者子节点全相同或者全不同,全相同按list处理,全不同按dict处理,这么一想就比较清晰了,类似这样的格式。 格式很规整,然后对这种xml进行解析,先获取根节点,按根节点进行遍历 阅读全文
摘要:
zip(iterable, iterable..) 数据打包和解包,一般结果是一个元组(最短匹配)。 例子: 阅读全文
摘要:
yield有点像return,但他会在下一次执行的时候从上次结束点继续执行,带有 yield 的函数在 Python 中被称之为 generator(生成器),生成器无法通过索引获取数据,同时也承诺使用时进行计算,相比list或tuple会省很多内存,可以通过next获得。 例子: 阅读全文
摘要:
with…as with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。当python执行with…as时,会调用__enter__函数,然后把该函数return的值传给as后指定的变量。之后, 阅读全文
摘要:
vars(object) 返回对象object的属性和属性值的字典对象。不输入参数,就打印当前调用位置的属性和属性值,相当于locals()的功能。 例子: 阅读全文
摘要:
update(dict) 字典合并,生成的为新的字典,新字典操作不会影响老字典。 例子: 阅读全文
摘要:
timedelta() timedelta方法可以表示一个时间段,并可以进行计算,而且可以直接对datetime计算。 例子: today() datetime的today函数可以表示现在的时间。 例子: timezone(str) pytz的这个方法可以生成时区对象以供使用。 例子: type(o 阅读全文
摘要:
slice(int,int) 切片,可以为切片命名增加可读性。 例子: sorted(iterable, key) 排序,支持传入参数,例如通过itemgetter传入参数(itemgetter可以传入多个key)。 例子: 利用attrgetter可以比较不支持原生比较的,比如类。 sum(ite 阅读全文
摘要:
replace(str, str) 字符串替换。 例子: rjust(int) 格式化字符串,右对齐,支持传入填充值。 例子: rstrip(str) 删去右边的参数,支持传入参数。 例子: round(float,int) 舍入运算,python基本就是四舍五入,但是在python3时边界中间时会 阅读全文
摘要:
popleft(iterable) 对应pop,左侧弹出,队列适用。 例子: permutations(iterable, int) itertools的permutations方法可以产生集合的所有排列,并且接受一个参数来指定长度。 例子: partial(str, int) functools的 阅读全文
摘要:
OrderedDict() 保持dict元素插入顺序。 例子: open(path) 可以对文件进行操作,有'r'读模式、'w'写模式、'a'追加模式、'b'二进制模式、'+'读/写模式等,操作完需要close。 例子: os模块 os模块包含普遍的操作系统功能,介绍几种常用功能,因path用的较多 阅读全文
摘要:
nlargest(int , iterable,key) 查找最大的n个元素。 例子: 还支持传入key进行复杂元素比较:如:nlargest (n, list,key=lambda a:a[b])。 nsmallest(int , iterable, key) 查找最小的n个元素。 例子: 还支持 阅读全文
摘要:
max(iterable) 求最大值,可以传入key。 例子: min(iterable) 求最小值,支持传入key。 例子: match(regular expression, string) 字符串正则表达式复杂匹配。 例子: merge(iterable, iterable..) heapq的 阅读全文
摘要:
lstrip(str) 删除字符串左边的字符,支持传入参数。 例子: ljust(int) 格式化字符串,左对齐,支持传入填充值。 例子: loads(json) 将json字符串转换为dict。 例子: 阅读全文
摘要:
(1)join(iterable)/(2) join(str, str) (1)join()连接字符串数组.(2)os.path.join()将多个路径组合后返回。 例子: 阅读全文