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 14 Python
在Python中使用PIL模块处理图像的教程
Apr 29 Python
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 Python
使用pytorch进行图像的顺序读取方法
Jul 27 Python
Python对接 xray 和微信实现自动告警
Sep 17 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
pytorch进行上采样的种类实例
Feb 18 Python
python实现密码验证合格程序的思路详解
Jun 01 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
python从Oracle读取数据生成图表
Oct 14 Python
Python面向对象之成员相关知识总结
Jun 24 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
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
一段实时更新的时间代码
2006/07/07 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
python 中文乱码问题深入分析
2011/03/13 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
python并发2之使用asyncio处理并发
2017/12/21 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
同学会邀请书大全
2014/01/12 职场文书
高中生家长寄语大全
2014/04/03 职场文书
文明演讲稿范文
2014/05/12 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
2014年宣传工作总结
2014/11/18 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
怒海潜将观后感
2015/06/11 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server