- 浏览: 106062 次
- 性别:
- 来自: 杭州
最新评论
文章列表
lambda是匿名函数,形式为
lambda x : x * x
等价于
def func(x):
return x * x
其中”x”相当于函数参数, 表示式”x*x”相当于返回值,所以lambda不需要也不能有return.
匿名函数本身是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数.匿名函数适用于编写简单的函数,因为不需要函数命令,不会造成函数名冲突.
#!/usr/bin/python
#coding=utf-8
import os, sys
f = lambda x : x * x
print f(5)
#直接调用
prin ...
- 2015-04-12 08:59
- 浏览 560
- 评论(0)
httplib模块是一个底层基础模块,实现的功能比较少,正常情况下比较少用到.推荐用urllib, urllib2, httplib2.
HTTPConnection 对象
class httplib.HTTPConnection(host[, port[, strict[, timeout[, source_address]]]])
创建HTTPConnection对象
HTTPConnection.request(method, url[, body[, headers]])
发送请求
HTTPConnection.getresponse()
获得响应
HTTPR ...
- 2015-04-10 17:56
- 浏览 901
- 评论(0)
通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。
例如,Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8。如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码。
又如,Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非 ...
- 2015-04-10 10:29
- 浏览 507
- 评论(0)
multiprocessing.Pipe([duplex])
返回2个连接对象(conn1, conn2),代表管道的两端,默认是双向通信.如果duplex=False,conn1只能用来接收消息,conn2只能用来发送消息.不同于os.open之处在于os.pipe()返回2个文件描述符(r, w),表示可读的和可写的
实例如下:
#!/usr/bin/python
#coding=utf-8
import os
from multiprocessing import Process, Pipe
def send(pipe):
pipe.send(['spam'] + [42 ...
- 2015-04-10 09:56
- 浏览 1601
- 评论(0)
匿名管道
管道是一个单向通道,有点类似共享内存缓存.管道有两端,包括输入端和输出端.对于一个进程的而言,它只能看到管道一端,即要么是输入端要么是输出端.
os.pipe()返回2个文件描述符(r, w),表示可读的和可写的.示例代码如下:
#!/usr/bin/python
import time
import os
def child(wpipe):
print('hello from child', os.getpid())
while True:
msg = 'how are you\n'.encode()
os.write(w ...
- 2015-04-09 10:26
- 浏览 541
- 评论(0)
实际上JSON就是Python字典的字符串表示,但是字典作为一个复杂对象是无法直接传递,所以需要将其转换成字符串形式.转换的过程也是一种序列化过程.
用json.dumps序列化为json字符串格式
>>> import json
>>> dic {'Connection': ['keep-alive'], 'Host': ['127.0.0.1:5000'], 'Cache-Control': ['max-age=0']}
>>> jdict = json.dumps({'Connection': ['keep-alive'] ...
- 2015-04-08 21:41
- 浏览 430
- 评论(0)
在python中,任务并发一种方式是通过进程分支来实现的.在linux系统在,通过fork()方法来实现进程分支.
fork()调用后会创建一个新的子进程,这个子进程是原父进程的副本.子进程可以独立父进程外运行.
fork()是一个很特殊的方法,一次调用,两次返回.
fork()它会返回2个值,一个值为0,表示在子进程返回;另外一个值为非0,表示在父进程中返回子进程ID.
以下只能在linux中运行,不能在window下运行.
进程分支fork()
实例如下:
#!/usr/bin/python
#coding=utf-8
import os
def child():
...
- 2015-04-07 10:52
- 浏览 775
- 评论(0)
Python内建了map()和reduce()函数。
如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on Large Clusters”,你就能大概明白map/reduce的概念。
我们先看map。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
- 2015-04-06 16:00
- 浏览 394
- 评论(0)
1.os.popen运行shell列表命令
def traverseDirByShell(path):
for f in os.popen('ls ' + path):
print f.strip()
2.利用glob模块
glob.glob(path)返回带目录的文件名.通配符和shell相似.path不能包含shell变量.
def traverseDirByGlob(path):
path = os.path.expanduser(path)
for f in glob(path + '/*'):
print f ...
- 2015-04-05 10:59
- 浏览 808
- 评论(0)
概述
考虑这样一个问题,有hello.py脚本,输出”hello, world!”;有TestInput.py脚本,等待用户输入,然后打印用户输入的数据。那么,怎么样把hello.py输出内容发送给TestInput.py,最后TestInput.py打印接收到的”hello, world!”。下面我来逐步讲解一下shell的交互方式。
hello.py代码如下:
#!/usr/bin/python
print "hello, world!"
TestInput.py代码如下:
#!/usr/bin/python
str = raw_input()
print ...
- 2015-04-04 11:23
- 浏览 518
- 评论(0)
返回被去除指定字符的字符串
默认去除空白字符
删除首尾字符:str.strip([char])
删除首字符:str.lstrip([char])
删除尾字符str.strip([char])
判断是否匹配首末字符
匹配成功返回True,否则返回False
匹配首字符:str.startswith(char[, start[, end]])
匹配末字符:str.endswith(char[, start[, end]])
查找字符,找到返回字符位置,否则返回-1
从字符串开头查找str.find(char[, start[, end]])
从字符串末端开始查找str ...
- 2015-04-04 09:33
- 浏览 533
- 评论(0)
V8 引擎概览
V8 引擎简介
Google V8 引擎使用 C++ 代码编写,实现了 ECMAScript 规范的第五版,可以运行在所有的主流
操作系统中,甚至可以运行在移动终端 ( 基于 ARM 的处理器,如 HTC G7 等 )。V8 最早被开发用以嵌入到 Google 的开源浏览器 Chrome 中,但是 V8 是一个可以独立的模块,完全可以嵌入您自己的应用,著名的 Node.js( 一个异步的服务器框架,可以在服务端使用 JavaScript 写出高效的网络服务器 ) 就是基于 V8 引擎的。
和其他 JavaScript 引擎一样,V8 会编译 / 执行 ...
- 2015-04-02 15:28
- 浏览 469
- 评论(0)
logging分为4个模块: loggers, handlers, filters, and formatters.
loggers: 提供应用程序调用的接口
handlers: 把日志发送到指定的位置
filters: 过滤日志信息
formatters: 格式化输出日志
Logger
Logger.setLevel() 设置日志级别
Logger.addHandler()和Logger.removeHandler() 增加和删除日志处理器
Logger.addFilter()和Logger.removeFilter() 增加和删除过滤器
Logger.debug( ...
- 2015-03-30 17:28
- 浏览 521
- 评论(0)
示例
from optparse import OptionParser
[...]
def main():
usage = "usage: %prog [options] arg"
parser = OptionParser(usage)
parser.add_option("-f", "--file", dest="filename",
help="read data from FILENAME")
parse ...
- 2015-03-30 14:19
- 浏览 846
- 评论(0)
代码
#!/usr/bin/env python
#coding=utf-8
import random
#生成[0, 1)直接随机浮点数
print random.random()
#[x, y]中的随机整数
print random.randint(1, 100)
list = [1, 2, 3, 4, 5]
#随机选取
print random.choice(list)
#随机打乱
random.shuffle(list)
print list
输出
0.787074152336
95
1
[4, 5, 2, 3, 1]
<script t ...
- 2015-03-30 11:07
- 浏览 583
- 评论(0)