python3 下列表与字典转换
2018-06-18 02:41:08来源:未知 阅读 ()
在写爬虫的时候,经常需要处理cookie,requests库里的cookie是dict,但是headers['cookie']却是一个key=value的字符串。
下面是几个用推导式实现的转换函数,供大家参考。
#coding=utf-8 #create by :joshua zou #create date :2018.5 import logging #key=value列表转换成cookie字典 def cookie_list_2_dict(cookli): if not isinstance(cookli,list): logging.error('error list param...') return {} return {item.split('=')[0]:item.split('=')[1] for item in cookli} #heads['cookie']字符串转换成cookie字典 def cookie_str_2_dict(cookstr): if not isinstance(cookstr,str): logging.error('error str param...') return {} cookstr = cookstr.split(';') return cookie_list_2_dict(cookstr) #cookie字典转换成key=value列表 def cookie_dict_2_list(cookdi): if not isinstance(cookdi,dict): logging.error('error dict param...') return [] cookli = ["%s=%s" %(key,value) for key,value in cookdi.items()] return cookli #cookie字典转换成heads['cookie']字符串 def cookie_dict_2_str(cookdi): if not isinstance(cookdi,dict): logging.error('error dict param...') return "" cookli = cookie_dict_2_list(cookdi) return ';'.join(cookli) if __name__=='__main__': cookies = {'AST': '1525005900068b4106e25d4', '___bz': '708632|41171989|2b7718|aladin2_freexx', 'platform': 'H5'} cookli = cookie_dict_2_list(cookies) cookstr = cookie_dict_2_str(cookies) print('cook list',cookli) print('cook str',cookstr) cookdi1 = cookie_str_2_dict(cookstr) cookdi2= cookie_list_2_dict(cookli) print('cook dict 1',cookdi1) print('cook dict 2',cookdi2)
输出结果:
cook list ['AST=1525005900068b4106e25d4', '___bz=708632|41171989|2b7718|aladin2_freexx', 'platform=H5'] cook str AST=1525005900068b4106e25d4;___bz=708632|41171989|2b7718|aladin2_freexx;platform=H5 cook dict 1 {'AST': '1525005900068b4106e25d4', '___bz': '708632|41171989|2b7718|aladin2_freexx', 'platform': 'H5'} cook dict 2 {'AST': '1525005900068b4106e25d4', '___bz': '708632|41171989|2b7718|aladin2_freexx', 'platform': 'H5'}
以上。。。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Python3NLTK-自然语言
下一篇:第十二章—武装飞船
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- python3 enum模块的应用 2019-08-13
- python3 之 趣味数学题(爱因斯坦) 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash