前言

在代码运行时,少部分数据可能会被延时调用或者多个代码文件调用。这时需要将其保存为某一格式的文件,本文针对少量数据的保存和读取(如果数据很多可以使用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的读写函数,帮助大家在代码编写时减少一些麻烦。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐