python学习
li_zs
这个作者很懒,什么都没留下…
展开
-
Python全局解释器锁
Python多线程是单cpu意义上的多线程,它和多cpu上的多线程有着本质的区别。单cpu多线程:并发多cpu多线程:并行内部包含并发在Python 多线程当中,存在一个叫Global Interpreter Lock(GIL)的东西,直译就是全局解释器锁。它的作用在于让同一时刻只能有一个线程对于python对象进行操作。Python已经提供了各种机制让我们进行多线程同步,为什转载 2015-03-26 11:52:50 · 2647 阅读 · 0 评论 -
Python 命名空间
转自:http://www.jb51.net/article/53906.htm通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新转载 2015-02-26 17:27:19 · 762 阅读 · 0 评论 -
Python random模块讲解
Random用于产生随机数。下面看看几个常用的函数。(1) random.random .用于产生一个0到1之间的浮点数。0>>> import random>>> random.random()0.060899158939506703>>> (2) random.uniformrandom.uniform的函数原型为:random转载 2015-02-26 09:33:30 · 1643 阅读 · 0 评论 -
Python unittest
python的unittest模块提供了一个测试框架,只要我们写一个继承unittest.TestCase的类,类中用setUp做初始化,用tearDown做清理。主要用到的函数有:failedinfo表示不成立打印信息failedinfo,为可选参数self.fail([msg])会无条件的导致测试失败,不推荐使用。self.assertEqual(value1, value2,转载 2015-02-26 11:34:08 · 889 阅读 · 0 评论 -
python zip函数
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:1.示例1:x = [1, 2, 3]y = [4, 5, 6]z = [7, 8, 9]xyz = zip(x, y, z)print xyz运行的结果是:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]转载 2015-01-21 15:05:42 · 794 阅读 · 1 评论 -
Python装饰器与面向切面编程
以下内容转自 http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html1. 装饰器入门1.1. 需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。1234def foo(): print 'in foo(转载 2015-02-10 10:48:54 · 667 阅读 · 0 评论 -
openstack nova api模块分析
以下内容转自 http://blog.csdn.net/joelovegreen/article/details/16892997Nova API 在nova中的作用Nova API服务是openstack nova模块的核心模块。API服务使nova计算模块的命令和控制流程,为用户提供服务。API是一个HTTP web服务,负责处理认证、授权、基本命令和控制功能。缺省情况转载 2015-02-10 11:00:18 · 2102 阅读 · 0 评论 -
Python单元测试——深入理解unittest
以下内容转自 http://blog.csdn.net/hackerain/article/details/24095117单元测试的重要性就不多说了,可恶的是python中有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fixtures, disc转载 2015-02-10 10:56:36 · 1881 阅读 · 0 评论 -
openstack nova-api 服务流程介绍
以下内容转自 http://www.netfoucs.com/article/xuriwuyun/87993.htmlnova-api发布api服务没有用到一个些框架,基本都是从头写的。在不了解它时,以为它非常复杂,难以掌握。花了两三天的时间把它分析一遍后,发现它本身的结构比较简单,主要难点在于对它所使用的一些类库不了解,如paste.deploy/webob/routes。对转载 2015-02-10 10:52:59 · 1238 阅读 · 0 评论 -
Python 使用ElementTree解析XML
以下内容转自 http://www.cnblogs.com/CheeseZH/p/4026686.htmlElement类型是一种灵活的容器对象,用于在内存中存储层次数据结构。可以说是list和dictionary的交叉。注意:xml.etree.ElementTree 模块对含有恶意代码的数据是不安全的。如果你想处理不信任的数据请使用 XML vulnerabilit转载 2015-02-10 10:43:23 · 4712 阅读 · 0 评论 -
python eval
python evaleval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果。同样地, exec语句将字符串str当成有效Python代码来执行.提供给exec的代码的名称空间和exec语句的名称空间相同.最后,execfile(filename [,globals [,locals ]])函转载 2015-01-21 14:59:45 · 972 阅读 · 0 评论 -
python lambda匿名函数简单理解
f=lambda x:x**2print f(2)lambda是一个表达式,冒号左边是函数参数,右边是函数返回值f是一个函数对象原创 2014-12-15 10:58:23 · 758 阅读 · 0 评论 -
python *args **kwargs
#! /usr/bin/env python#coding:utf-8class Person(object): def __init__(self,*args,**kwargs): print 'first argument:' for arg in args: print arg print 'second原创 2014-10-27 17:36:24 · 1098 阅读 · 0 评论 -
python中import的相关知识总结
转自:http://jianpx.iteye.com/blog/4864661. import 实际上是python虚拟机把当前的globals()和locals()传进__builtins__.__import__内置函数了,所以实际上干活的是那个__import__函数! 2. import对命名空间的影响1)如果是python的内置模块,例如os模块。这些转载 2015-02-02 11:23:31 · 851 阅读 · 0 评论 -
WSGI Webob Routes 实例
转自 http://blog.csdn.net/spch2008/article/details/90049261.下载库文件 webob库:http://download.csdn.net/detail/spch2008/5497755 routes库:http://download.csdn.net/detail/spch2008/5497转载 2015-03-06 17:35:05 · 933 阅读 · 0 评论 -
python 的日志logging模块学习
转自:http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html1.简单的将日志打印到屏幕 import logginglogging.debug('This is debug message')logging.info('This is info message转载 2015-04-02 17:20:10 · 602 阅读 · 0 评论 -
eclipse IDE 开发python
pep8:1、编写代码时按pep8规范安装与配置:(1)安装:升级对应的pep8pip install --upgrade pep8==1.4.5(2)eclipse配置:Ok, as of PyDev 2.3.0, pep8 is integrated in PyDev by default (even shipping with a default version原创 2015-04-22 14:29:23 · 827 阅读 · 0 评论 -
from __future__ import absolute_import
这样局部导入就不会覆盖全局导入,本地导入采用相对引用例如:from .celery import Celery是导入当前路径下celery的Celeryfrom celery import Celery是导入第三方的全局的celery模块下的Celery原创 2015-10-21 09:47:58 · 3914 阅读 · 0 评论 -
paramiko interactive shell
import paramikoparamiko.util.log_to_file('/tmp/li.log')ssh = paramiko.SSHClient()ssh.load_system_host_keys()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect('172.30.126.31',原创 2015-09-06 11:32:08 · 5027 阅读 · 0 评论 -
paramiko scp
'''Created on 2015.9.1@author: Administrator'''import paramikoscp = paramiko.Transport(('172.30.126.31', 22)) #1scp.connect(username='root', password='hello') #2sftp = paramiko.SFTPClient.f原创 2015-09-06 10:56:30 · 2730 阅读 · 0 评论 -
python 程序执行过程
转自 : http://www.cnblogs.com/kym/archive/2012/05/14/2498728.html 1. Python是一门解释型语言?我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是co转载 2015-02-02 11:10:49 · 662 阅读 · 0 评论 -
python 装饰器
以下内容转自 AstralWind http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html1. 装饰器入门1.1. 需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。1234def foo(): print转载 2014-12-16 10:56:54 · 753 阅读 · 0 评论 -
python 多进程
Python在2.6引入了多进程的机制,并提供了丰富的组件及api以方便编写并发应用。multiprocessing包的组件Process, Queue, Pipe, Lock等组件提供了与多线程类似的功能。使用这些组件,可以方便地编写多进程并发程序。ProcessProcess等同于java.lang.Thread。start方法用以启动某个进程。一个简单转载 2015-01-30 09:22:37 · 741 阅读 · 0 评论 -
python re模块的(...),group(),groups()
(...)1.(...)用来匹配符合条件的字符串原创 2014-08-17 10:17:48 · 7311 阅读 · 0 评论 -
python rfoo远程方法调用包
转自 http://www.oschina.net/p/rfoo什么叫对象序列化:就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储如果一个类的对象想被序列化,则对象所在的类必须实现java.io.Serializable 接口。此接口定义好下:public interface Serializable{}private static转载 2015-01-09 10:13:51 · 1231 阅读 · 0 评论 -
python socket编程(二)--SocketServer模块
python socket编程(二)--SocketServer模块 SocketServer是python标准库中的一个高级模块,用来简化python服务器端编程。列一下SocketServer模块中实现的类。1.BaseServer: 包含服务器的核心功能与混合(mix-in)类的钩子功能。这个类用于派生,不要直接生成对外提供服务。2.TCPServer/UDPS原创 2014-07-31 17:21:49 · 1656 阅读 · 0 评论