列表数据的读入与写出


# 列表数据的读取和写入

# ---------------写入************
list_1 = ['张三','李四','王五']
# 1.打开文件
file_handle = open('student.txt', mode='w')
# 2.写入数据
for name in list_1:
    file_handle.write(name)
    # 写入换行符
    file_handle.write('\n')
# 3.关闭文件
file_handle.close()

# 读取文件,并且必须是一个列表,格式:['张三','李四','王五']
file_handle = open('student.txt', mode='r')
# readlines() 读取所有行的数据,会返回一个列表,列表中存放的数据就是每一行的内容
contents = file_handle.readlines()
# 准备一个列表,用来存放取出来的数据
student_list = []
# for循环遍历列表,取出每一行读取到的内容
for name in contents:
    # strip()去除字符串中的某些特殊字符 去除\n
    name = name.strip('\n')
    # 把处理好的name添加到列表中
    student_list.append(name)
# 这个列表中存放的就是和写入之前一样的内容
print(student_list)
# 3.关闭文件
file_handle.close()
#多列表
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(' ')
    # pop()函数  移除列表中最后一个元素
    list_1.pop()
    # 把小列表添加到大列表中
    student_list.append(list_1)
file_handle.close()
print(student_list)

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,逐行读入写出文本文件比较常见,可以使用`BufferedReader`和`BufferedWriter`类及其相应的类包实现。 `BufferedReader`类是一个输入流读取器,它可以读取字符流并缓冲以提高性能。使用`BufferedReader`类,可以逐行读取文本文件。该类位于`java.io`包中,使用前需要先进行导入。 `BufferedWriter`类是一个输出流写出器,它可以向字符流中写入数据,并缓冲以提高性能。使用`BufferedWriter`类,可以逐行向文本文件中写入数据。该类也位于`java.io`包中,使用前需要进行导入。 以下是使用`BufferedReader`和`BufferedWriter`逐行读入写出文本文件的示例代码: 逐行读入文本文件: ``` try { BufferedReader reader = new BufferedReader(new FileReader("input.txt")); String line = ""; while ((line = reader.readLine()) != null) { // 对每一行进行处理 // ... } reader.close(); } catch (IOException e) { e.printStackTrace(); } ``` 逐行写出文本文件: ``` try { BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt")); String line = ""; while (/* 满足一定条件 */) { // 获取一行数据 // ... writer.write(line); writer.newLine(); // 换行 } writer.close(); } catch (IOException e) { e.printStackTrace(); } ``` 综上所述,`BufferedReader`和`BufferedWriter`类是Java中逐行读入写出文本文件的常用类。使用这两个类,可以方便地对文本文件进行逐行处理,并提高性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值