python :如何将list存入txt后,再读出list
生活随笔
收集整理的這篇文章主要介紹了
python :如何将list存入txt后,再读出list
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天遇到一個需求,就是將一個list文件讀取后,存入一個txt配置文件。存入時,發現list文件無法直接存入,必須轉為str模式。
但在讀取txt時,就無法恢復成list類型來讀取了(準確地說,即使強行使用list讀取,讀出來的也是單個的字符)。
查了查資料,發現json.loads和json.dumps這對兄弟提供了一個很好的辦法。下面看代碼
#python 3.6 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'BH8ANK' ''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書!取出字典中的value中的字典的value ''' import jsonx = {'RegionSet': [{'Region': 'ap-beijing','RegionName': '\xe5\x8d\x8e\xe5\x8c\x97\xe5\x9c\xb0\xe5\x8c\xba(\xe5\x8c\x97\xe4\xba\xac)','RegionState': 'AVAILABLE'},{'Region': 'ap-chengdu','RegionName': '\xe8\xa5\xbf\xe5\x8d\x97\xe5\x9c\xb0\xe5\x8c\xba(\xe6\x88\x90\xe9\x83\xbd)','RegionState': 'AVAILABLE'},{'Region': 'ap-chongqing','RegionName': '\xe8\xa5\xbf\xe5\x8d\x97\xe5\x9c\xb0\xe5\x8c\xba(\xe9\x87\x8d\xe5\xba\x86)','RegionState': 'AVAILABLE'},{'Region': 'ap-guangzhou','RegionName': '\xe5\x8d\x8e\xe5\x8d\x97\xe5\x9c\xb0\xe5\x8c\xba(\xe5\xb9\xbf\xe5\xb7\x9e)','RegionState': 'AVAILABLE'},{'Region': 'ap-guangzhou-open','RegionName': '\xe5\x8d\x8e\xe5\x8d\x97\xe5\x9c\xb0\xe5\x8c\xba(\xe5\xb9\xbf\xe5\xb7\x9eOpen)','RegionState': 'AVAILABLE'},{'Region': 'ap-hongkong','RegionName': '\xe4\xb8\x9c\xe5\x8d\x97\xe4\xba\x9a\xe5\x9c\xb0\xe5\x8c\xba(\xe9\xa6\x99\xe6\xb8\xaf)','RegionState': 'AVAILABLE'},{'Region': 'ap-mumbai','RegionName': '\xe4\xba\x9a\xe5\xa4\xaa\xe5\x9c\xb0\xe5\x8c\xba(\xe5\xad\x9f\xe4\xb9\xb0)','RegionState': 'AVAILABLE'},{'Region': 'ap-seoul','RegionName': '\xe4\xb8\x9c\xe5\x8d\x97\xe4\xba\x9a\xe5\x9c\xb0\xe5\x8c\xba(\xe9\xa6\x96\xe5\xb0\x94)','RegionState': 'AVAILABLE'},{'Region': 'ap-shanghai','RegionName': '\xe5\x8d\x8e\xe4\xb8\x9c\xe5\x9c\xb0\xe5\x8c\xba(\xe4\xb8\x8a\xe6\xb5\xb7)','RegionState': 'AVAILABLE'},{'Region': 'ap-shanghai-fsi','RegionName': '\xe5\x8d\x8e\xe4\xb8\x9c\xe5\x9c\xb0\xe5\x8c\xba(\xe4\xb8\x8a\xe6\xb5\xb7\xe9\x87\x91\xe8\x9e\x8d)','RegionState': 'AVAILABLE'},{'Region': 'ap-shenzhen-fsi','RegionName': '\xe5\x8d\x8e\xe5\x8d\x97\xe5\x9c\xb0\xe5\x8c\xba(\xe6\xb7\xb1\xe5\x9c\xb3\xe9\x87\x91\xe8\x9e\x8d)','RegionState': 'AVAILABLE'},{'Region': 'ap-singapore','RegionName': '\xe4\xb8\x9c\xe5\x8d\x97\xe4\xba\x9a\xe5\x9c\xb0\xe5\x8c\xba(\xe6\x96\xb0\xe5\x8a\xa0\xe5\x9d\xa1)','RegionState': 'AVAILABLE'},{'Region': 'eu-frankfurt','RegionName': '\xe6\xac\xa7\xe6\xb4\xb2\xe5\x9c\xb0\xe5\x8c\xba(\xe5\xbe\xb7\xe5\x9b\xbd)','RegionState': 'AVAILABLE'},{'Region': 'na-ashburn','RegionName': '\xe7\xbe\x8e\xe5\x9b\xbd\xe4\xb8\x9c\xe9\x83\xa8(\xe5\xbc\x97\xe5\x90\x89\xe5\xb0\xbc\xe4\xba\x9a)','RegionState': 'AVAILABLE'},{'Region': 'na-siliconvalley','RegionName': '\xe7\xbe\x8e\xe5\x9b\xbd\xe8\xa5\xbf\xe9\x83\xa8(\xe7\xa1\x85\xe8\xb0\xb7)','RegionState': 'AVAILABLE'},{'Region': 'na-toronto','RegionName': '\xe5\x8c\x97\xe7\xbe\x8e\xe5\x9c\xb0\xe5\x8c\xba(\xe5\xa4\x9a\xe4\xbc\xa6\xe5\xa4\x9a)','RegionState': 'AVAILABLE'}],'RequestId': 'CDFBE924-36FE-30AE-1B46-5AFCDF8A943D','TotalCount': 16}y_list = x['RegionSet'] # print(y)#y是一個list,其中每個元素包含地域信息,每個元素又是單獨的一個dict # print(y_list) i = 0 c_list = [] for i in range(len(y_list)):b_dict = y_list[i]c_list.append(b_dict['Region'])# print(a['Region']) # print(b_dict) print('============clist=============') print(c_list)'''json.dumps()和json.loads()是json格式處理函數(可以這么理解,json是字符串)(1)json.dumps()函數是將一個Python數據類型列表進行json格式的編碼(可以這么理解,json.dumps()函數是將字典轉化為字符串)(2)json.loads()函數是將json格式數據轉換為字典(可以這么理解,json.loads()函數是將字符串轉化為字典) ''' c_list = json.dumps(c_list) '''將c_list存入文件 ''' a = open(r"D:\python_test\data_source_list.txt", "w",encoding='UTF-8') a.write(c_list) a.close()'''讀取data_source_list文件 ''' b = open(r"D:\python_test\data_source_list.txt", "r",encoding='UTF-8') out = b.read() out = json.loads(out) print(out) print(isinstance(out,list))輸出如圖:
有關json模塊的說明:
json.dumps()和json.loads()是json格式處理函數(可以這么理解,json是字符串)
(1)json.dumps()函數是將一個Python數據類型列表進行json格式的編碼(可以這么理解,json.dumps()函數是將字典轉化為字符串)
(2)json.loads()函數是將json格式數據轉換為字典(可以這么理解,json.loads()函數是將字符串轉化為字典)
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python :如何将list存入txt后,再读出list的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 之杀不死的Shell子进程
- 下一篇: python输入一个\输出2个\问题