Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将新数据写入文件中间_Python_File Io - Fatal编程技术网

Python 将新数据写入文件中间

Python 将新数据写入文件中间,python,file-io,Python,File Io,可能重复: 写一个新文件、附加文件等都很容易,但是我如何才能写到文件的中间呢 我有一个自动生成的html报告,我不想重写整个报告,我只想在新的地方插入新数据。也许我想找一条评论并附加在那里。因此,在行是之后添加新数据 在中读取文件 修改您需要的内容 用修改后的版本覆盖文件 如果文件太大,无法放入内存,请逐行(或逐块或任何适合的方式)将其读写到某个临时文件中,然后复制它而不是原始文件。尝试fileObject.seek(偏移量[,何处])如果编辑会更改文件的大小,则需要在编辑后重写所有内容(正如

可能重复:

写一个新文件、附加文件等都很容易,但是我如何才能写到文件的中间呢

我有一个自动生成的html报告,我不想重写整个报告,我只想在新的地方插入新数据。也许我想找一条评论并附加在那里。因此,在行

是之后添加新数据

  • 在中读取文件
  • 修改您需要的内容
  • 用修改后的版本覆盖文件

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

    尝试fileObject.seek(偏移量[,何处])

    如果编辑会更改文件的大小,则需要在编辑后重写所有内容(正如Eli所建议的那样)。如果文件中的某个地方有大量空白,那么您应该能够在不影响文件后面部分的情况下将新数据重新写入该空白处(如Max所建议的,您可以使用file.seek()进行此操作)


    因此,您的想法(留下一条注释,告诉程序在何处插入数据)只要注释后面有足够的空格来包含可能放在那里的任何新数据,就可以使用。

    您不能。您必须始终重写整个文件。您不需要重写整个文件,但在打开文件进行追加时,您需要在插入的片段之后重写整个部分。
    seek
    没有帮助对于写入,仅用于读取:不管怎样,新内容都将写入文件末尾。