
python 的 `write()` 方法不会自动换行,因此要插入空行需显式写入两个 `\n` 字符:一个结束当前行,另一个构成空行。
在使用 file.write() 向 CSV 或文本文件追加内容时,一个常见误区是认为写入单个 \n 就能产生“空行”。实际上,\n 的作用仅仅是将光标移到下一行起始位置,而非创建视觉上的空行。真正的空行需要两行之间的换行符序列,即:前一行以 \n 结尾,紧接着再写一个 \n —— 这样才会在文件中形成“内容行 + 空白行”的效果。
例如,以下写法仅输出单行(无空行):
f.write('MSI status for S001,MSI-H\n') # ✅ 写入一行,光标停在下一行开头此时若后续没有再次 write('\n'),就不会出现空行。
✅ 正确添加空行的三种等效方式:
立即学习“Python免费学习笔记(深入)”;
方式 1:分两次 write
在原版的基础上做了一下修正评论没有提交正文的问题特价商品的调用连接问题去掉了一个后门补了SQL注入补了一个过滤漏洞浮动价不能删除的问题不能够搜索问题收藏时放入购物车时出错点放入购物车弹出2个窗口修正主题添加问题商家注册页导航连接问题销售排行不能显示更多问题热点商品不能显示更多问题增加了服务器探测 增加了空间使用查看 增加了在线文件编辑增加了后台管理里两处全选功能更新说明:后台的部分功能已经改过前台
with open(f'{date}-output.csv', 'a') as f:
f.write(f'MSI status for {sample_id},{msi_result}\n')
f.write('\n') # ← 关键:第二个 \n 构成空行方式 2:单次 write 包含两个 \n
with open(f'{date}-output.csv', 'a') as f:
f.write(f'MSI status for {sample_id},{msi_result}\n\n')方式 3:用 print()(更简洁,但注意自动换行行为)
with open(f'{date}-output.csv', 'a') as f:
print(f'MSI status for {sample_id},{msi_result}', file=f) # 自动加 \n
print(file=f) # 单独 print() 默认只输出 \n → 形成空行⚠️ 注意事项:
- 不要混淆 print() 和 write():print() 默认末尾追加 \n,而 write() 完全不添加任何字符;
- 在 Windows 系统中,某些编辑器(如记事本)可能无法正确识别 Unix 风格的 \n 换行(需 \r\n),若兼容性要求高,可使用 newline='' 参数配合 csv.writer,或显式写 \r\n;
- 若文件已存在且最后一行未以 \n 结尾,首次追加内容前建议先补一个 \n,避免多行合并成一行。
总结:空行 = 当前行结尾的 \n + 紧随其后的 \n。牢记这一逻辑,即可稳定控制文件格式的可读性。









