urllib库是Python语言中用于处理URL的库,它提供了一系列用于操作URL的函数,其中urllib.urlencode()是其中一个函数,它的功能是将字典或者元组的数据编码成标准的URL编码格式。
Python 2中urllib.urlencode的使用
Python 2中urllib.urlencode()函数接收的参数只能是字典或者元组,它会将字典或者元组中的数据编码成标准的URL编码格式,例如:
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib data = {'name': '张三', 'age': 18} url_data = urllib.urlencode(data) print url_data # 输出结果:name=%E5%BC%A0%E4%B8%89&age=18
Python 3中urllib.parse.urlencode的使用
Python 3中urllib库中的urlencode函数已经移到了urllib.parse模块中,它接收的参数可以是字典、元组、列表等,它会将参数中的数据编码成标准的URL编码格式,例如:
#!/usr/bin/env python # -*- coding: utf-8 -*- from urllib import parse data = {'name': '李四', 'age': 20} url_data = parse.urlencode(data) print(url_data) # 输出结果:name=%E6%9D%8E%E5%9B%9B&age=20
使用urllib.parse.urlencode函数还可以指定编码格式,例如:
#!/usr/bin/env python # -*- coding: utf-8 -*- from urllib import parse data = {'name': '王五', 'age': 22} url_data = parse.urlencode(data, encoding='utf-8') print(url_data) # 输出结果:name=%E7%8E%8B%E4%BA%94&age=22
使用urllib.parse.urlencode函数还可以指定参数之间的连接符,例如:
#!/usr/bin/env python # -*- coding: utf-8 -*- from urllib import parse data = {'name': '赵六', 'age': 24} url_data = parse.urlencode(data, doseq=True, separator=';') print(url_data) # 输出结果:name=%E8%B5%B5%E5%85%AD;age=24
以上就是,使用urllib.urlencode或者urllib.parse.urlencode函数可以将字典或者元组等数据编码成标准的URL编码格式,并且还可以指定编码格式及参数之间的连接符。