hashlib,urlparse,urlsplit,urllib,httplib,random,sys.stdout

怎甘沉沦 提交于 2020-12-26 12:59:28

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

  1. 实例:  

  2. conn1 = HTTPConnection('www.baidu.com:80')  

  3. conn2 = HTTPconnection('www.baidu.com',80)  

  4. conn3 = HTTPConnection('www.baidu.com',80,True,10)  

  5. 错误实例:  

  6. 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

  1. 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 = [12345678910]  

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’



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!