当前位置:网站首页 > Haskell函数式编程 > 正文

Json字符串转成map(json字符串转成标准格式输出)



本节学习Python的格式化输出,文件操作以及json的简单用法


1.格式化输出


将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答)

可以使用str.ljust() 、str.rjust()、str.center()来设置字符串的对齐方式

我们也可以使用str.format()来设置字符串的对齐方式({}中填充^、<、>分别代表居中、左对齐、右对齐):

str.format() 的其他使用方法:

我们还有一种格式话输出的形式,如下所示:


2.文件操作


我们有一个名为1.txt的文件,我们可以通过如下语句打开它:

open函数的第二个参数是可选参数,可以选择如下几种模式:

r:只读模式

w:写模式 ,如果文件不存在,自动创建

a:追加

r+:读写

注意:在window操作系统下,该参数可以是:b,代表以二进制形式打开文件,所以有了组合:rb,wb 或r+b

打开后,我们读取其中的全部内容:

如果我们想一行一行的读取,可以使用f.readline()或者f.readlines()

f.readline():每次只读取一行

f.readlines():读取所有行,并保存到一个列表中

注意:如果我们使用的是读写模式(r+、w+ 或者a+的话),在写入后,马上读取,只会读取一个EOF

出现上述情况的原因是当调用完f.write()函数后,指针移到了文件内容的末尾处。此时读取的话就只会读取到EOF,解决办法是设置指针到文件的起始位置

打开文件后,必须要记得使用f.close() 函数来关闭文件以释放资源。 一个好的使用习惯是,使用with open('file','mode') as f的形式来打开文件,这样在with代码块结束后,会自动关闭文件


3.json


我们在读取文件的时候,读取到的数据类型都是string类型,但是有时候,我们可能需要存储一些复杂的数据类型,如:列表、字典到文件中,这时候如果我们读取文件的时候,返回的是字符串,我们还必须使用list(str)将其转换成列表或字典类型,这样的话,使得我们的操作变得复杂。而json正好可以解决这个问题

我们使用json 可以使数据结构转换成字符串表示,这被称为序列化,我们也可以让字符串表示转换成相应的数据结构,这被称为:反序列话

我们可以使用json.dumps(x) 来将对象x序列化成json的字符串表示形式:

我们还可以使用json.dump(x,f) 来将序列化的x写入文件f中:

我们想要反序列的话,可以使用x = json.load(f)

4、cPickle和Pickle

也是python的标准模块。cPickle和pickle的功能相似,只是cPickle是用c语言编写的。可以使用它们在文件中存储python的任何对象。之后可以把对象完整的取出来。这被称为持久的存储对象。

例子:将一个列表写进test.txt中

我们再把这个列表从文件中取出来:

结果:[1, 23, 'teststr'],这样列表就成功的取出来啦。

注意:如果将import cPickle as p 替换成import json as p,那么最后取出对象打印出来的结果是:[1, 23,u 'teststr'],这是因为json库把json文件load成了Unicode对象。所以要变成str对象的话需要自己encode,方法可以这样:

 但这种方法感觉效率有点慢。。。。 

  

到此这篇Json字符串转成map(json字符串转成标准格式输出)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 快程序怎么删除(如何删除程序桌面快捷方式)2025-06-29 13:36:05
  • oracle时间函数 时间差(oracle时间差计算)2025-06-29 13:36:05
  • 宽松的支付方式英文(宽松的支付方式英文缩写)2025-06-29 13:36:05
  • ipv6 tcp报文(ipv6报文格式的特点)2025-06-29 13:36:05
  • redis 哨兵模式配置(redis哨兵怎么配置)2025-06-29 13:36:05
  • 支付方式图片(支付方式图片幼儿园可打印)2025-06-29 13:36:05
  • 字体图标是什么格式的(字体图标怎么做出来的)2025-06-29 13:36:05
  • conv2d函数(conv函数用法)2025-06-29 13:36:05
  • pem格式文件怎么打开(pem是什么格式)2025-06-29 13:36:05
  • ip地址格式转换(ip地址转换是什么)2025-06-29 13:36:05
  • 全屏图片