文章目录

  • 前言
  • 一、代码展示
  • 二、函数使用方法
  • 总结



前言

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