首页 > 解决方案 > 用变量替换文本文件中的特定行

问题描述

 def appendingfile():
        OpenFiles1 = open("modules.txt", "a")
        NewModule = (FreshModule.get())
        ModuleToAppend = (ModuleInput.get())
        for line in OpenFiles1:
            if ModuleToAppend in OpenFiles1:
                OpenFiles1.write(NewModule)

我不确定如何用我的变量之一替换 python 文件中的特定行。但是在我看到结果之前,我收到了这个错误,说 unsupportedOperationL 不可读,我对如何解决这个问题感到困惑。有什么建议么?

标签: python-3.xtkinter

解决方案


如该函数的文档所示,有几种模式可以在 python 中打开文件:

'r' 用于读取
'w' 用于写入(覆盖现有文件)
'a' 用于附加(仅在末尾写入,这是脚本中的问题)
'+' 用于更新(读取和写入)

当您以写入或更新模式打开时,会有这种指针(查找位置)告诉 python 在哪里写入。如果您以附加模式打开,则无论查找位置如何,此指针始终位于文本末尾。

尝试以“r+”模式打开以进行阅读和更新。


推荐阅读