python3.6 如何将list存入txt后再读出list的方法
作者:BH8ANK 发布时间:2022-03-03 07:30:26
标签:python3.6,list,txt
今天遇到一个需求,就是将一个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))
输出如图:
有关json模块的说明:
json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
(1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
(2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)
来源:https://www.cnblogs.com/BH8ANK/p/9052086.html
0
投稿
猜你喜欢
- 一、图像缩略图的编辑图像的缩略图是指把图像按原比例缩小,可作为原图的预览,这在网络速度比较慢时可快速地显示图片的概图。当你的网页上有大型图片
- 一、设置画布turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置turtle.screensize(canvwidth=600
- 1.能调用方法的一定是对象,比如数值、字符串、列表、元组、字典,甚至文件也是对象,Python中一切皆为对象。 str1 = 'he
- 前言本文将使用pytorch框架的目标识别技术实现滑块验证码的破解。我们这里选择了yolov5算法例:输入图像输出图像可以看到经过检测之后,
- Python从MySQL数据库中导出csv文件处理csv文件导入MySQL数据库import pymysqlimport csvimport
- 我们在建立一个大型网站的时候会有很多副页面框架模式,甚至一些细节元素都是相同的。但令人困扰的是更新它们却要费些周折,要一遍遍地反复更新每个页
- 可及,通俗的说是“可以达到”,加上主语和宾语,在“交互设计”这个大的语境下,含义应该是“用户可以达到自己的操作目标”,这不是和“有效性—用户
- 本文实例讲述了php以post形式发送xml的方法。分享给大家供大家参考。具体方法如下:方法一,使用curl:$xml_data = <
- 细心的人都会发现GitHub个人主页有一个记录每天贡献次数的面板,我暂且称之为贡献面板。就像下图那个样子。只要当天在GitHub有提交记录,
- 关于杨辉三角是什么东西,右转 * :杨辉三角稍微看一下直观一点的图:11112113311464115101051161520156117
- 简介序列化的目的是方便数据的传输和存储,在PHP中,序列化和反序列化一般用做缓存,比如session缓存,cookie等。反序列化中常见的魔
- 一、数据类型分类1、按存值个数区分单个值:数字,字符串多个值(容器):列表,元组,字典,集合2、按可变不可变区分可变:列表[],字典{},集
- 效果图from wxpyimport *import requestsfrom datetimeimport datetimeimport
- 一、安装环境gym是用于开发和比较强化学习算法的工具包,在python中安装gym库和其中子场景都较为简便。安装gym:pip instal
- Selenium的介绍、配置和调用Selenium(浏览器自动化测试框架) 是一个用于Web应用程序测试的工具。Selenium测
- 发送普通邮件发送文本和html普通邮件如下:from email.header import Headerfrom email.mime.t
- 前言:要说小时候称霸所有翻盖手机的小游戏,除了贪吃蛇,那就是推箱子了。控制小人将所有箱子放到指定位置,就是这样简简单单的操作,陪伴我度过了无
- 我就废话不多说了,大家还是直接看代码吧~#! python3# -*- coding: utf-8 -*-import os, codecs
- 重复的数据可能有这样两种情况,第一种: 表中只有某些字段一样,第二种是两行记录完全一样。一、对于部分字段重复数据的删除 1.查询重复的数据
- 相关验证码文章:asp制作验证码的方法 轩魂ASP中文验证码下载 先产生一个4位数的随机码源代码:ychar="0,1,2,3,4