Python:撤消写入文件

标签 python file undo

撤消写入文件的最佳方法是什么?如果我正在经历一个循环并一次写入一行,并且我想撤消之前的写入并将其替换为其他内容,我该怎么做呢?有什么想法吗?

提前致谢!

最佳答案

正如其他人所指出的,这没有多大意义,最好不要写,除非你不得不写。在您的情况下,您可以将“写入指针”保留在处理后的一行。

伪代码:

previousItem = INVALID
for each item I:
  is I same as previousItem?
    then update previousItem with I
    else
      write previousItem to file
      previousItem = I
write previousItem to file

如您所见,previousItem 是唯一保留在内存中的项目,它会根据需要更新为“accumulate”。只有当下一个与那个不“相同”时,它才会写入文件。

当然,您真的可以回滚文件游标,只需跟踪最后一行开始的字节偏移量,然后在重写之前对其执行 fseek()。乍一看,编码似乎更简单,但调试起来完全是一场噩梦。

关于Python:撤消写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1479035/

相关文章:

python - 无法在 Python 中导入 Skype4Py

python - Python 中的抽象类属性?

java - 定位 Eclipse 项目的默认根文件夹

drawing - Photoshop 撤销系统

git - 将本地存储库分支重置为就像远程存储库 HEAD

python - 在Python中找到两个大数组(矩阵)之间的集合差异

Python 格式化工具

C 编程 我试图从 2 个 txt 文件切换内容

android - 如何在Android/iOS上通过不同的线程同时读写一个文件?

c# - C# 中的命令模式和复杂操作