-1

基本上,我正在寻找一种方法来告诉我的程序在打开文件之前保存它。假设情况是我有一个不断手动写入的文本文件,但我的程序也在不断读取它。我如何告诉我的程序在每次打开文件之前保存文件?

我不是 100% 确定我说得有道理,如果需要任何澄清,我很乐意提供。

编辑:我正在使用 excel 文件,基本上,我将使用他们的 ID 登录到会议的用户将持续的用户数据输入到 excel 中。

下面是我的 while 循环,我在其中不断打开我的工作簿(excel 文件),然后在它发生变化时更新它。后来我写了一个输出文件,我在其中跟踪我的用户登录到会议。

 try:
     while True:
            book2= open_workbook('IDS.xlsx')
            sheet2=book2.sheet_by_index(0)
            IDs2=UpdatePoints(value,IDs2)
            writeBook.save("Counted.xls")
            time.sleep(0.5)
except KeyboardInterrupt:
     print 'interrupted!'

如果有任何意义,我希望能够在打开它之前保存“book2”。

4

1 回答 1

1

如果文件已被另一个进程打开,则在程序打开文件之前,您无法告诉该进程保存更改。您的进程只能读取其他进程选择写入的更改。

听起来您所描述的是,在一个正在对文件进行更改的进程中打开了一个文件——比如用户正在文本编辑器中编辑的文本文件。同时,您希望您的进程打开正在更改的文件并能够读取对该文件的待处理更改。因此,您希望其他进程在您的进程打开文件之前“保存”或写出它的更改。这样,您的进程将看到对文件所做的更改。因此,您希望您的进程在“读取”文件之前“保存”文件。

不幸的是,这不是程序和文件交互的方式。只有当其他进程决定将更改写入文件时,您的进程才能看到更改。

于 2013-09-25T05:16:16.940 回答