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操作列表的常用方法分享
Feb 13 Python
Python基本数据类型详细介绍
Mar 11 Python
Python编程实现二叉树及七种遍历方法详解
Jun 02 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
Python中文件的读取和写入操作
Apr 27 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
python将pandas datarame保存为txt文件的实例
Feb 12 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
Python class的继承方法代码实例
Feb 14 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
Python趣味入门教程之循环语句while
Aug 26 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 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
发挥语言的威力--融合PHP与ASP
2006/10/09 PHP
php分页函数完整实例代码
2014/09/22 PHP
laravel model 两表联查示例
2019/10/24 PHP
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Python实现ssh批量登录并执行命令
2016/10/25 Python
Python字典操作详细介绍及字典内建方法分享
2018/01/04 Python
Python循环实现n的全排列功能
2019/09/16 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
Python的信号库Blinker用法详解
2020/12/31 Python
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
公务员的自我鉴定
2013/10/26 职场文书
校园演讲稿汇总
2014/05/21 职场文书
承诺书格式范文
2014/06/03 职场文书
会计人员演讲稿
2014/09/11 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
上级领导检查欢迎词
2015/09/30 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android