# encoding:utf-8

def get_str(data):
"""将python数据转化为肉眼可见的字符串
:param data: str、dict、list
:return: str
"""
if data is None:
return ""
if isinstance(data, str):
return "%s" % data
elif isinstance(data, dict):
ret = "{"
for key, value in data.items():
# 处理key
if isinstance(key, int) or isinstance(key, float):
ret += "%s: " % str(key)
else:
ret += "'%s': " % key
# 处理值
if isinstance(value, int) or isinstance(value, float):
ret += "%s, " % str(value)
elif isinstance(value, str):
ret += "'%s', " % value
else:
ret += get_str(value)+", "
ret += "} "
elif isinstance(data, list):
ret = "["
for value in data:
if isinstance(value, int) or isinstance(value, float):
ret += "%s, " % str(value)
elif isinstance(value, str):
ret += "'%s', " % value
else:
ret += get_str(value) + ", "
ret += "] "
elif isinstance(data, set) or isinstance(data, tuple):
ret = "("
for value in data:
if isinstance(value, int) or isinstance(value, float):
ret += "%s, " % str(value)
elif isinstance(value, str):
ret += "'%s', " % value
else:
ret += get_str(value) + ", "
ret += ") "
else:
ret = "%s" % str(data)
return ret if __name__ == "__main__":
data = {
"items": {
"datetime": "2021-09-15 10:54:59",
"internet": 1,
"server": "pool.ntp.org",
"timezone": "+8"},
"zone_list": [
"(UTC)协调世界时",
"(UTC)卡萨布兰卡",
"(UTC)蒙罗维亚、雷克雅未克",
"(UTC)都柏林、爱丁堡、里斯本、伦敦",
"(UTC+01:00)布鲁塞尔、哥本哈根、马德里、巴黎"],
"zone_name":"(UTC+08:00)北京、重庆、香港特别行政区、乌鲁木齐",
"message": "ok",
"status": 1000,
"token": "5b2fe1ce5fe0aa6123c09bc8a4d51b40"
}
print data
print get_str(data)

  

python数据结构转字符串_python2中字符不显示问题_python2_递归的更多相关文章

  1. python数据结构-如何为元组中的每个元素命名

    如何为元组中的每个元素命名 简述 当对象数据格式固定时,用元组比列表更节省内存空间, 我们使用索引访问元组元素,但是这种访问方式会降低程序的可读性. 举个栗子 对于学生的信息,我们有固定的数据格式,我 ...

  2. python数据结构-如何统计序列中元素的频度

    如何统计序列中元素的频度 问题举例 如何找出随机序列[1, 5, 6, 5, 3, 2, 1, 0, 6, 1, 6]中出现频度最高的3个元素? 如何统计某篇英文文章中词频最高的5个单词? 将序列转换 ...

  3. python数据结构-如何根据字典中值的大小对字典项排序

    如何根据字典中值的大小对字典项排序 问题举例 某班英语成绩以字典形式存储,如何根据成绩高低,计算学生成绩排名 { “tom”:80, "lily":88, "marton ...

  4. c程序设计语言_习题1-19_编写函数reverse(s)将字符串s中字符顺序颠倒过来。

    Write a function reverse(s) that reverses the character string s . Use it to write a program that re ...

  5. python 判断列表字符串元素首尾字符是否相同

    def match_words(words): ctr = for word in words: and word[] == word[-]: ctr += return ctr print(matc ...

  6. python 正则匹配字符串里面的字符

    import re x=re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest') print(x)

  7. python 解决抓取网页中的中文显示乱码问题

    关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换.还包括一些如日文.韩文 .俄文.藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明. 网络爬虫出现乱码的原因 源网页编码和爬取下来 ...

  8. Python:删除字符串中的字符

    一.删除字符串两端的一种或多种字符 #strip().lstrip().rstrip()方法:(默认删除空格符) A.list.strip(字符):删除字符串两端的一种或多种字符: #例:删除字符串s ...

  9. Python之数据结构:字符串中的方法

    一.过滤字符串 1.strip() (1)去掉行收尾不可见字符 a = ' wejifrow ' print a print a.strip() 结果: wejifrow wejifrow (2)st ...

  10. python中repr和eval可以用来在数据结构和字符串间互转

    在这个功能上,repr和str的作用一样,把一个数据结构转换成字符串,例如: >>> str([1,2,3,4])'[1, 2, 3, 4]' >>> repr([ ...

随机推荐

  1. Python中用requests处理cookies的3种方法

    在接口测试中,大多数项目的接口是需要登录后进行操作的,经常用到requests库进行模拟登录及登录后的操作,下面是我不断踩坑后总结出来的关于登录凭证cookies的3种操作方法. 一. 用 reque ...

  2. TinyRadius客户端java登录认证

    jar包:TinyRadius-1.0.jar 依赖:commons-logging.jar radius配置文件: <?xml version="1.0" encoding ...

  3. 其他2-while+read按行读取文件

    一.三种方法 1.exec读取文件 exec <file sum=0 while read line do cmd done 2. cat读取文件 cat file|while read lin ...

  4. vue验证码倒计时60s

    vue3验证码倒计时60s //倒计时60s const timeNum = ref(60); const countDown = ref(); const isShowSend = ref(true ...

  5. React工程化实践之UI组件库

    分享日期: 2022-11-08 分享内容: 组件不是 React 特有的概念,但是 React 将组件化的思想发扬光大,可谓用到了极致.良好的组件设计会是良好的应用开发基础,这一讲就让我们谈一谈Re ...

  6. Flutter在iOS中一些点

    1. ios对Flutter有如下依赖 Flutter.framework:     Flutter engine等: APP.framework:业务代码, 由dart代码生成.App.framew ...

  7. vue后台管理系统——订单管理模块

    电商后台管理系统的功能--订单管理模块 1. 订单管理概述 订单管理模块用于维护商品的订单信息, 可以查看订单的商品信息.物流信息,并且可以根据实际的运营情况对订单做适当的调整. 2. 订单列表 在c ...

  8. pads:数据格式不正确,网络必须包含一个以上管脚

    1,如果已经有pcb封装,则在pads logic软件里面-元件编辑器-重新做封装,在--编辑电参数--里面匹配对应pcb封装, 2,点击-工具--,--从库中更新--,更新一下,之后导入pcb la ...

  9. GVINS文章暴力翻译(仅供自学)

    https://blog.csdn.net/haner27/article/details/117929327

  10. VUE安装环境及项目创建

    Vue环境安装配置 安装git工具,便于在wind电脑上操作命令行,自行在网上下载安装,(可以不安装)使用cmd. 安装node,检查node安装是否成功,在git工具中输入node -v(如果成功的 ...