前言
在代码运行时,少部分数据可能会被延时调用或者多个代码文件调用。这时需要将其保存为某一格式的文件,本文针对少量数据的保存和读取(如果数据很多可以使用numpy或者pandas包中的函数存取),编写了一种保存和读取list格式数据的函数。
一、代码展示
python中的文件读写函数f.open(#)是较为底层的,而在实际运用中往往不会对存取过程的自定义性有过多的要求。一般情况下我们只需要存取时保持数据的原始格式和构造就足够了,作者编写了一段代码用以解决这一问题。
def list_txt(path, list=None):
'''
:param path: 储存list的位置
:param list: list数据
:return: None/relist 当仅有path参数输入时为读取模式将txt读取为list
当path参数和list都有输入时为保存模式将list保存为txt
'''
if list != None:
file = open(path, 'w')
file.write(str(list))
file.close()
return None
else:
file = open(path, 'r')
rdlist = eval(file.read())
file.close()
return rdlist
二、函数使用方法
输入参数 | 数据格式 | 用途 |
---|---|---|
path | 字符串(str) | 文件的保存路径 |
list | 列表(list) | 原始list数据输入 |
输出参数 | 数据格式 | 用途 |
---|---|---|
None/rdlist | 无/列表(list) | 存储数据时无输出,读取数据时返回读取的数据rdlist |
简介:
list_txt() 函数在仅有path参数输入时为读取模式将txt读取为list
list_txt() 函数在path参数和list都有输入时为保存模式将list保存为txt
代码示例:
示例代码1:
List1 = ['1', 1, 1.1]
# 保存模式
list_txt(path='savelist.txt', list=List1)
# 读取模式
List_rd = list_txt(path='savelist.txt')
print(List_rd)
print(type(List_rd))
print(type(List_rd[0]), type(List_rd[1]), type(List_rd[2]))
示例代码1输出结果:
['1', 1, 1.1]
<class 'list'>
<class 'str'> <class 'int'> <class 'float'>
示例代码2:
# 多维数组
List1 = [['1','2'], [1, 2], [1.1, 2.2]]
# 保存模式
list_txt(path='savelist.txt', list=List1)
# 读取模式
List_rd = list_txt(path='savelist.txt')
print(List_rd)
print(type(List_rd))
print(type(List_rd[0][0]), type(List_rd[1][0]), type(List_rd[2][0]))
示例代码2输出结果:
[['1', '2'], [1, 2], [1.1, 2.2]]
<class 'list'>
<class 'str'> <class 'int'> <class 'float'>
总结
以上就是今天要讲的内容,本文介绍一种简单的list到txt的读写函数,帮助大家在代码编写时减少一些麻烦。