1、hashlib
import hashlib
hash_new = hashlib.sha1() //调用hashlib里的sha1()生成一个sha1 hash对象
hash_new.update(params_data) //通过update方法对字符串进行sha1加密的更新处理
hash_value = hash_new.hexdigest() //十六进制的结果
return hash_value //返回结果
2、urlparse
urlparse :
url = ’http://netloc/path;param?query=arg#frag’
parsed = urlparse(url)
print parsed
结果:ParseResult(scheme=’http’, netloc=’netloc’, path=’/path’,params=’param’, query=’query=arg’, fragment=’frag’)
urlsplit()
parsed = urlsplit(url)
print parsed
结果:SplitResult(scheme=’http’, netloc=’user:pwd@NetLoc:80’,path=’/p1;param/p2;param’, query=’query=arg’, fragment=’frag’)注意,urlsplit比urlparse的数组少了一项!
urllib(网页上读取)
import urllib
url_file=urllib.urlopen("http://home.51cto.com/space?uid=9062123")
urllib_docs=url_file.read()
url_file.close()
3、httplib
原型:
HTTPConnection(host[, port[, strict[, timeout]]])
host: 请求的服务器host,不能带http://开头
port: 服务器web服务端口
strict: 是否严格检查请求的状态行,就是http1.0/1.1 协议版本的那一行,即请求的第一行,默认为False,为True时检查错误会抛异常
timeout: 单次请求的超时时间,没有时默认使用httplib模块内的全局的超时时间
[python] view plain copy
实例:
conn1 = HTTPConnection('www.baidu.com:80')
conn2 = HTTPconnection('www.baidu.com',80)
conn3 = HTTPConnection('www.baidu.com',80,True,10)
错误实例:
conn3 = HTTPConnection('www.baidu.com:80',True,10)
返回:
HTTPConnection类会实例并返回一个HTTPConnection对象
>>> httplib.HTTPConnection('www.baidu.com')
<httplib.HTTPConnection instance at 0x7f84cd1bc830>
原型:
HTTPSConnection(host[, port[, key_file[, cert_file[, strict[, timeout]]]]])
key_file:一个包含PEM格式的私钥文件
cert_file:一个包含PEM格式的认证文件
other:其它同http参数
实例:
[python] view plain copy
conn3 = HTTPSConnection('accounts.google.com',443,key_file,cert_file,True,10)
返回:
同样返回一个HTTPSConnection对象
注意:
要创建https链接,必须要保证底层的socket模块是支持ssl的编译模式,即编译时ssl选项的开关是开着的
4、random
random.random()用于生成一个0到1的随机符点数
>>> random.random()
0.7820718478026492
random.uniform(a, b),用于生成一个指定范围内的随机符点数
>>> random.uniform(3,5)
4.985623052274523
random.randint(a, b),用于生成一个指定范围内的整数
>>> random.randint(3,6)
5
random.choice从序列中获取一个随机元素
>>> random.choice("学习Python")
'n'
random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数>>> random.randrange(10, 100, 2) //相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数
30
random.shuffle(x[, random]),用于将一个列表中的元素打乱p = ["Python","is", "powerful","simple", "and so on..."]
>>> random.shuffle(p)
>>> print p
['is', 'powerful', 'Python', 'simple', 'and so on...']
random.sample(sequence, k),从指定序列中随机获取指定长度的片断list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
slice = random.sample(list, 5)
>>> print slice
[5, 8, 3, 4, 10]
5.sys.stdout
sys.stdout.write('hello world'+ '\n')
print 'hello world'
上面两行等价
hi=raw_input('hello')
先显示,再把输入的值赋给hi
hi=sys.stdin.readline()[:-1]
直接把值赋给hi,-1去掉回车符‘\n’
来源:oschina
链接:https://my.oschina.net/u/4278828/blog/4841891