Loading

文件读取与保存(nlp,json)

json.load() 从文件流中读取json格式的字符串,转化为python对象,文件格式为XXX.json
json.loads() 将json格式的字符串转换为python对象
 
json.dump() 将python中符合json格式的对象写到文件中
json.dumps() 将python中符合json格式的对象转换为字符串类型,并不常用
 
例:有两个文件分别为'test.json','test.txt'。内容相同。因为文件的格式不同,故读取方法不同。
 1 # 文件内容
 2 # [{"1":"s","2":"p","3":"o"},
 3 # {"s":"1","p":"2","o":"3"}]
 4 import json
 5 # 读取json格式文件
 6 with open('./test.json') as f1:
 7     data1 = json.load(f1)
 8 print(data1)
 9 
10 # 读取txt格式文件
11 with open('./test.txt') as f2:
12     ret = ''
13     for it in f2.readlines():
14         ret = ret + it.strip()
15     data2 = json.loads(ret)
16 print(data2)

 在保存时使用json.dump(),例:

 1 import json
 2 a_str = '[{"1":"s","2":"p","3":"o"},{"s":"1","p":"2","o":"3"}]'
 3 a_list = [{"1": "s", "2": "p", "3": "o"}, {"s": "1", "p": "2", "o": "3"}]
 4 with open('./test1.json', 'w') as f1:
 5     json.dump(a_str, f1)
 6 with open('./test2.json', 'w') as f2:
 7     json.dump(a_list, f2)
 8 
 9 # text1.json
10 # "[{\"1\":\"s\",\"2\":\"p\",\"3\":\"o\"},{\"s\":\"1\",\"p\":\"2\",\"o\":\"3\"}]"
11 # test2.json
12 # [{"1": "s", "2": "p", "3": "o"}, {"s": "1", "p": "2", "o": "3"}]

总结:

 

 

 

使用python中的eval可以将字符串识别成python的对象(也有计算数学结果的作用),有时会非常省事。

 

posted @ 2021-10-02 22:56  国家三级保护废物  阅读(215)  评论(0编辑  收藏  举报