python对txt文件写入的两种方法f.write和f.writelines(),上面两种方法的区别是什么。

问题描述:

python对txt文件写入的两种方法f.write和f.writelines(),上面两种方法的区别是什么。,假如写入的内容是一个列表[["张三,18,5000"],["李四",20,6000]],要求输出,每个子列表占一行要求两种方法的输出结果一样,展示出输出结果。

问题解答:

使用 f.write()

我们将逐行写入列表中的数据,每次写入一行。

data = [["张三", 18, 5000], ["李四", 20, 6000]]

with open('output_write.txt', 'w', encoding='utf-8') as f:
    for row in data:
        line = ",".join(map(str, row)) + "\n"
        f.write(line)
使用 f.writelines()

我们先将每行数据处理成字符串列表,然后一次性写入文件。

data = [["张三", 18, 5000], ["李四", 20, 6000]]

lines = []
for row in data:
    line = ",".join(map(str, row)) + "\n"
    lines.append(line)

with open('output_writelines.txt', 'w', encoding='utf-8') as f:
    f.writelines(lines)

输出结果

无论使用哪种方法,生成的文件内容都是一样的,每个子列表占一行,内容如下:

张三,18,5000
李四,20,6000

代码总结

使用 f.write()
data = [["张三", 18, 5000], ["李四", 20, 6000]]

with open('output_write.txt', 'w', encoding='utf-8') as f:
    for row in data:
        line = ",".join(map(str, row)) + "\n"
        f.write(line)
使用 f.writelines()
data = [["张三", 18, 5000], ["李四", 20, 6000]]

lines = []
for row in data:
    line = ",".join(map(str, row)) + "\n"
    lines.append(line)

with open('output_writelines.txt', 'w', encoding='utf-8') as f:
    f.writelines(lines)

通过这两种方法,我们可以将一个包含子列表的列表写入文件,每个子列表占一行。

这两种方法都可以满足需求,但 f.writelines() 更适合在预先处理好所有数据的情况下使用,而 f.write() 更灵活,适合动态生成或处理每一行数据的情况。

——————————————————————————————————————————

个人觉得f.writelines()更简洁,列表的可操作性也比较强。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神笔馬良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值