今天遇到一个需求,就是将一个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()函数是将字符串转化为字典)

python :如何将list存入txt后,再读出list相关推荐

  1. 利用python+seleniumUI自动化登录获取cookie后再去测试接口,今天终于搞定了

    #coding=utf-8 from selenium import webdriver from selenium.common.exceptions import NoSuchElementExc ...

  2. java输出的文本内容不对_java 字符串写入文件后再读出不一样? 有什么解决办法吗?...

    展开全部 看你纠结这个问题,好几天了.我就仔细帮你看了下代码,修改后如下import java.io.*; // 看了下,该程序想实现用密e69da5e887aa3231313335323631343 ...

  3. mysql scrapy 重复数据_大数据python(scrapy)爬虫爬取招聘网站数据并存入mysql后分析...

    基于Scrapy的爬虫爬取腾讯招聘网站岗位数据视频(见本头条号视频) 根据TIOBE语言排行榜更新的最新程序语言使用排行榜显示,python位居第三,同比增加2.39%,为什么会越来越火,越来越受欢迎 ...

  4. python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例

    用了两种方式解决该问题,都是网上现有的解决方案. 场景说明: 有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobile_id.目标是得到新文件只有mobile_id,pl ...

  5. 编一个程序,定义一个数组,用for语句输入10个实数存入这个数组,然后按逆序重新存放后再输出

    编一个程序,定义一个数组,用for语句输入10个实数存入这个数组,然后按逆序重新存放后再输出 int[] shuzu = new int[10];             string str = t ...

  6. 数据标准化常见问题:对整个数据集数据标准化后再划分训练集、测试集和先对训练级标准化再将规则用于测试集有什么区别(Python实现)

    在数据分析与挖掘.算法建模的都会用到数据标准化.数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其 ...

  7. codesensor:将代码转化为ast后再转化为文本向量

    学习材料: 论文: 1.DeepBalance: Deep-Learning and Fuzzy Oversampling for Vulnerability Detection:https://do ...

  8. 分享Python简短代码,实现TXT转换MySQL文件。

    环境准备 我这里使用的是: python 3.10 第三方包和对应版本: pandas==1.3.5 PyMySQL==1.0.2 SQLAlchemy==1.4.30 PySimpleGUI==4. ...

  9. python rtftotxt_利用python将docx文件转为txt

    背景:工作中需要将文件夹下的若干word文件docx转换为对应txt文本格式 因此需要将docx中文本读取出来,然后保存为txt格式即可 转换docx文件 需要的python模块为python-doc ...

最新文章

  1. 连接以太网测试网Ropsten,本地账号和remix余额显示为0不同步的问题,Remix连接
  2. 神经网络原来是这样和数学挂钩的
  3. sem_我知道的关键词1
  4. C#forUnity快速入门(连载5)-C#OOP编程之封装性
  5. 02.elasticsearch bucket aggregation查询
  6. java quartz 数据库_SpringBoot+Quartz+数据库存储
  7. 5元的小乌龟吃什么_五月最适合吃这菜,5元一斤,两三天吃一次,鲜嫩正当时好美味...
  8. HibernateAnnotation入门实例
  9. org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir异常解决方法...
  10. [转载] gamma函数stiriling公式_数学笔记|特殊函数(1):Gamma函数
  11. 在非MVC环境下使用 Razor引擎
  12. Python中通过Image的open之后,去show结果打不开bmp图片,无法正常显示图片
  13. 在网址前加神秘字母,让你打开新世界(z)
  14. snapchat 登录不上_如何在Snapchat上举报某人
  15. 供应链金融运营研究 -----内容运营
  16. 常州大学 计算机与人工智能学院,常熟理工学院新闻网
  17. eclipse IED的优化(gc.log)
  18. matlab cftool光滑曲线导出为什么就不光滑了_博学 MATLAB如何导出精美的论文插图...
  19. 《程序是怎样跑起来的》摘录
  20. C++STL库之algorithm库

热门文章

  1. RHEL7 - 从命令行管理文件
  2. 一键准备Oracle安装
  3. CSS清楚浮动大全,工8种方法
  4. Mono.Cecil C#代码注入
  5. 2013年4月27日星期六
  6. jQuery.validate.js API
  7. 自由自在进口食品最具发展潜力的黄金产业
  8. 供应商主数据屏幕增强
  9. 使用程序创建数据库表
  10. SAP ABAP如何隐藏你写的程序代码