当前位置:   article > 正文

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

python f.write

问题描述:

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

问题解答:

使用 f.write()

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

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

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

  1. data = [["张三", 18, 5000], ["李四", 20, 6000]]
  2. lines = []
  3. for row in data:
  4. line = ",".join(map(str, row)) + "\n"
  5. lines.append(line)
  6. with open('output_writelines.txt', 'w', encoding='utf-8') as f:
  7. f.writelines(lines)

输出结果

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

  1. 张三,18,5000
  2. 李四,20,6000

代码总结

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

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

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

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

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号