如何在不同的地方写入文件?

时间:2011-10-21 22:28:18

标签: python

我想

  1. 打开文件
  2. 在行首
  3. 添加4个下划线字符
  4. 找到空行
  5. 使用50个下划线字符替换空白行中的换行符
  6. 在50个下划线字符前后添加新行
  7. 我在stackoverflow中发现了许多类似的问题,但是我无法在没有错误的情况下组合所有这些操作。 See my previous question here。是否有一个简单的初学者方法来实现这一点,以便我可以从那里开始? (我不介意写同一个文件;不需要打开两个文件)谢谢。

2 个答案:

答案 0 :(得分:3)

你将不得不选择:

  • 使用两个文件,但一次不要在内存中存储多于一行
  • 在阅读原文时在内存中构建新文件,然后用新的
  • 覆盖原文

文件不是灵活的内存结构。你不能用50个下划线替换换行符中的1或2个字符,它只是不起作用。如果您确定新文件的大小是,那么您不介意翻阅原文,您可以在没有新文件的情况下进行。

我自己,总是允许用户选择输出文件。如果出现问题怎么办?磁盘空间非常便宜。

答案 1 :(得分:2)

您可以先执行所有要读取文件的操作,然后在行上执行更改,最后再将其写回。如果文件不适合内存,则应批量读取文件并创建临时文件。您无法原位修改该文件。