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 常用string函数(收藏)
May 30 Python
Python随机读取文件实现实例
May 25 Python
Python构建网页爬虫原理分析
Dec 19 Python
python实现K最近邻算法
Jan 29 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 Python
Python中的几种矩阵乘法(小结)
Jul 10 Python
Python使用Pandas对csv文件进行数据处理的方法
Aug 01 Python
python运用sklearn实现KNN分类算法
Oct 16 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
Pytorch数据拼接与拆分操作实现图解
Apr 30 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
Aug 17 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
PHP实现计算器小功能
2020/08/28 PHP
window.opener用法和用途实例介绍
2013/08/19 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
JS实现的样式切换功能tableCSS实例
2016/12/30 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
《美丽的田园》教学反思
2014/03/01 职场文书
趣味运动会策划方案
2014/06/02 职场文书
代收款委托书范本
2014/10/01 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
检讨书格式
2015/01/23 职场文书
开除员工通知
2015/04/22 职场文书