一个列表里有多个小列表的,存储和取出,举例

 

student_list = [['张三','22','110'],['李四','22','110'],['王五','22','110']]
'''

# 存储
student_list = [['张三','22','110'],['李四','22','110'],['王五','22','110']]
# 1.打开文件
file_handle = open('student_v2.txt',mode='w')
# 2.写入数据
for student in student_list:
    # for循环取出小列表中的每一条数据,
    for msg in student:
        # 写入文件
        file_handle.write(msg)
        # 写入空格
        file_handle.write(' ')
    # 一我的的信息写入完成,写入换行符
    file_handle.write('\n')
# 3.关闭文件
file_handle.close()

# 取出
file_handle = open('student_v2.txt',mode='r')
contents = file_handle.readlines()
# [['张三','22','110'],['李四','22','110'],['王五','22','110']]
student_list = []
for msg in contents:
    msg = msg.strip('\n')
    # split() 经过某个字符分割字符串,返回的是分割完成后的列表
    list_1 = msg.split(' ')
    print(list_1)
    # pop()函数  移除列表中最后一个元素
    list_1.pop()
    # 把小列表添加到大列表中
    student_list.append(list_1)
file_handle.close()
print(student_list)

用一个for循环实现:python

声明保存数据的函数
def save_data():
  file_handle  = open('students_v2.txt', mode='w')
    # 2.for循环遍历大列表
    for student in student_list:
        # 把列表中的数据用 空格分开并拼接为一个字符串
        s = ' '.join(student)
        # 写入
        file_handle.write(s)
        file_handle.write('\n')
# 读取数据
# 引入os模块
import os
def read_data():
    # 1.判断文件是否存在
    rs = os.path.exists('students_v2.txt')
    if rs == True:
        # 2.打开文件
        file_handle = open('students_v2.txt', mode='r')
        # 3.读取全部行
        contents = file_handle.readlines()
        for msg in contents:
            # 去除\n
            msg = msg.strip('\n')
            # 使用 空格分隔字符串,获得列表
            student = msg.split(' ')
            # 将小列表添加到大列表中
            student_list.append(student)
相关文章
相关标签/搜索