python字符串转字典
方法一
- 最常见的一种,使用json进行转换
import json s = {"name": "张三"} print(json.loads(s)) ------ {'name': '张三'}
- 但是这种方式有可能会出现问题,例如单引号的情况
s = "{'name': '张三'}" print(json.loads(s)) ------ Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py", line 348, in loads return _default_decoder.decode(s) File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
方法二
- 使用eval
s = "{'name': '张三'}" print(eval(s)) ------ {'name': '张三'}
方法三
- 使用ast.literal_eval
import ast s = "{'name': '张三'}" print(ast.literal_eval(s)) ------ {'name': '张三'}
参考链接:时光不写博客-python字符串转字典
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
虚拟机-- 垃圾收集 对象 区域 时机
垃圾收集器与内存分配策略 一、 GC要做的事情 哪些内存需要回收 ? 什么时候回收 ? 如何回收 ? 二、 什么时候需要GC ? 内存溢出、内存泄漏等; 垃圾收集收成系统达到更高并发量的瓶颈时。 三、 正文 1 哪些内存需要回收 ? 基本不考虑 部分: 程序计数器、虚拟机栈、本地方法栈 原因: 在编译期基本确定了内存大小 主要考虑 部分: Java堆和方法区 原因: 运行期间动态分配内存。 2 什么时候回收 ? 答: 对象已死的时候 #### 问题来了,如何判断对象已死 ? 引用计数算法 定义: 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器值就减1; 任何时刻计数器为0的对象就是不可能再被使用的。 好处: 实现简单,效率高 缺陷: 很难解决对象之间互相循环引用的问题 可达性分析算法 定义: 通过一系列的称为 GC Roots 的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用连, 当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。 java中,GC Roots对象 虚拟机栈(栈帧中的本地变量表...
- 下一篇
Django配置celery定时任务
安装celery 使用redis+celery的方式(使用的是阿里源,也可以选择不用) pip install -i https://mirrors.aliyun.com/pypi/simple/ -U "celery[redis]" 修改Django的settings配置文件 添加celery文件在app同级目录下添加一个文件夹,例:service_celery 在文件夹中添加celery.py文件,内容如下: #!/usr/bin/env python from __future__ import absolute_import, unicode_literals import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings') app = Celery('bank_service') # Using a string her...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群