使用Python将更改更新为在文本编辑器中打开的文件

时间:2017-06-28 21:19:00

标签: python file io

我的问题是,当我在使用Python程序对文件进行更改的同时我也在屏幕上打开它时,如果不关闭文件并再次打开,我看不到更改。我需要一种方法让程序在我查看时更新文件。这对我的计划至关重要。

它更新是至关重要的,因为我正在制作类似于脚本语言的东西,它必须在键入后立即响应每个命令。它会在记事本文件的下一行给出结果。

重要说明:

  • 我知道如何修改文件。
  • 按档案,我的意思是记事本。
  • 当我说我打开一个文件时,我并不是说Python程序使用Open()函数打开文件。我的意思是我,用户,在屏幕上打开文件,我可以看到它。
  • 请不要询问实际代码。我还没有开始创作任何东西。这将毫无意义,因为一切都依赖于我将要提出的这个概念。

2 个答案:

答案 0 :(得分:1)

确保文本编辑器在写入时刷新缓冲区不是您的责任。如果您的程序要与文本编辑器一起使用,请考虑编写扩展插件。

在Vim中,您可以使用:e重新加载缓冲区。在Emacs中,您可以使用M-x revert-buffer执行相同的操作。

答案 1 :(得分:0)

这取决于您正在使用的程序。如果有一些变化,有一些会重新加载文件;其他人根本不允许其他进程编辑文件。 作为文本编辑器的个人体验,Notepad ++允许python编辑打开的文件并自动检测任何编辑并询问用户是否要重新加载文件,同时基本记事本(如操作系统中内置的记事本)拒绝打开写入模式下的文件。