python中用json存储列表字典等文件操做

 

JSON字符串用json.dumps, json.loads JSON文件名用json.dump, json.loadhtml

因为须要在脚本重启后依旧可以记住以前所使用的列表内容, 故采用json存储列表文件, 通过测试, 以下代码可行.python

 1 import json  2 
 3 
 4 def write_json(jlist):  5     # 将bx列表写入json文件
 6     with open('data/bx_list.json', 'w') as f_obj:  
 7  json.dump(jlist, f_obj)  8 
 9 
10 def read_json(): 11     # 读取存储于json文件中的列表
12     with open('data/bx_list.json', 'r') as f_obj: 13         jlist = json.load(f_obj) 14     return jlist 15 
16 
17 if __name__ == "__main__": 18     list0=['bx-1', 'bx-2', 'bx-3', 'bx-4'] 19  write_json(list0) 20     list1 = read_json() 21     print(list1) 22     list1.append('bx-5') 23     print(list1) 24  write_json(list1) 25     print(read_json())

运行结果以下:ios

 

['bx-1', 'bx-2', 'bx-3', 'bx-4'] ['bx-1', 'bx-2', 'bx-3', 'bx-4', 'bx-5'] ['bx-1', 'bx-2', 'bx-3', 'bx-4', 'bx-5']

 

 

备注: ajax

1, 在window系统下, 当前目录下级目录表达方式为 'data/bx_list.json' 或者 r'data\bx_list.json', 此外创建json文件并不会创建文件夹, 在这里的data文件夹须要提早建好.json

2, with open('data/bx_list.json', 'w') as f_obj: 这一行代码中,'w'的写入方式会覆盖掉原始文件.api

 

补充:app

python爬虫requests json与字典对象互相转换python爬虫

https://www.cnblogs.com/Lin-Yi/p/7640147.htmlpost

 

import requests import json ''' json.loads(json_str) json字符串转换成字典 json.dumps(dict) 字典转换成json字符串 '''
# 这是一个ajax发起的get请求,获取一个json对象
r = requests.get("https://m.douban.com/rexxar/api/v2/subject_collection/movie_showing/items?os=ios&for_mobile=1&start=0&count=18&loc_id=108288&_=0") json_response = r.content.decode()  # 获取r的文本 就是一个json字符串

# 将json字符串转换成dic字典对象
dict_json = json.loads(json_response) print(type(dict_json)) # 将字典转换成json字符串
str_json = json.dumps( dict_json ) print(type(str_json)) # 字典转换成json 存入本地文件
with open('./a.txt','w') as f: # 设置不转换成ascii json字符串首缩进
    f.write( json.dumps( dict_json,ensure_ascii=False,indent=2 ) )

 

注意:测试

python将字典转为json数据中文乱码,可用以下代码解决

json.dumps(jsonData,ensure_ascii=False)
相关文章
相关标签/搜索