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)
相關文章
相關標籤/搜索