python3.6 如何将list存入txt后再读出list的方法


Posted in Python onJuly 02, 2019

今天遇到一个需求,就是将一个list文件读取后,存入一个txt配置文件。存入时,发现list文件无法直接存入,必须转为str模式。

但在读取txt时,就无法恢复成list类型来读取了(准确地说,即使强行使用list读取,读出来的也是单个的字符)。

查了查资料,发现json.loads和json.dumps这对兄弟提供了一个很好的办法。下面看代码

#python 3.6
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'BH8ANK'
'''取出字典中的value中的字典的value
'''

import json


x = {'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))

输出如图:

python3.6 如何将list存入txt后再读出list的方法

有关json模块的说明:

json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)

(1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)

(2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
编写简单的Python程序来判断文本的语种
Apr 07 Python
pytorch打印网络结构的实例
Aug 19 Python
Django和Flask框架优缺点对比
Oct 24 Python
Pytorch在NLP中的简单应用详解
Jan 08 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
pytorch使用tensorboardX进行loss可视化实例
Feb 24 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
Jun 23 Python
使用OpenCV去除面积较小的连通域
Jul 05 Python
jupyter 添加不同内核的操作
Feb 06 Python
python格式化输出保留2位小数的实现方法
Jul 02 #Python
Python 获取ftp服务器文件时间的方法
Jul 02 #Python
简单了解Python生成器是什么
Jul 02 #Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
Jul 02 #Python
使用python实现ftp的文件读写方法
Jul 02 #Python
Python初学者常见错误详解
Jul 02 #Python
Python使用pyserial进行串口通信的实例
Jul 02 #Python
You might like
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
php和nginx交互实例讲解
2019/09/24 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
Cookie 注入是怎样产生的
2009/04/08 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
[02:11]完美世界DOTA2联赛10月28日赛事精彩集锦:来吧展示实力强劲
2020/10/29 DOTA
Python 如何访问外围作用域中的变量
2016/09/11 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
院药学专业个人求职信
2013/09/21 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
禁止酒驾标语
2014/06/25 职场文书
工程安全生产协议书
2014/11/21 职场文书
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫