将新数据写入文件中间

时间:2011-07-11 12:56:21

标签: python file-io

  

可能重复:
  How do I modify a text file in Python?

编写新文件,附加到它等等很容易。但是如何写入文件的中间?

我有一个由自动化流程生成的html报告,而不是重写整个报告,我只想在新的地方插入新数据。也许我想寻找评论并附加在那里。因此,在行<!-- append here -->

之后添加新数据

3 个答案:

答案 0 :(得分:6)

  1. 阅读
  2. 中的文件
  3. 修改您需要的内容
  4. 使用修改后的版本
  5. 覆盖文件

    如果文件太大而无法放入内存,请逐行(或逐块或任何适合)将其读取并写入某个临时文件,然后将其复制而不是原始文件。

答案 1 :(得分:0)

尝试fileObject.seek(offset [,whence])

答案 2 :(得分:0)

如果您的编辑会改变文件的大小,那么您需要在编辑后重写所有内容(如Eli建议的那样)。如果文件中某处有大量空白区域,那么您应该能够将新数据重新写入该空白区域而不会影响文件的后续部分(并且您将使用file.seek()来实现此目的,正如马克斯建议的那样。)

所以你的想法(留下评论告诉程序在哪里插入数据)应该有效,只要注释后面有足够的空格来包含你可能放在那里的任何新数据。