基本上,我正在寻找一种方法来告诉我的程序在打开文件之前保存文件。说情况是我有一个文本文件,不断手动编写,但我的程序也在不断阅读它。如何在每次打开文件之前告诉我的程序保存文件?
我并非100%确定我有道理,如果需要澄清,我很乐意提供。
编辑:我正在使用excel文件,基本上我将从登录到会议ID的用户那里获得用户数据的常量。
下面是我的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"在我打开它之前,如果它有任何意义。
答案 0 :(得分:1)
如果文件被其他进程打开,则无法告诉该进程在程序打开文件之前保存它的更改。您的流程只能读取其他流程选择写入的更改。
您所描述的内容是,在一个进程中打开的文件正在对文件进行更改 - 例如用户在文本编辑器中编辑的文本文件。同时,您希望您的进程打开正在更改的文件,并能够读取文件的挂起更改。因此,您希望其他进程在进程打开文件之前“保存”或写出更改。这样,您的进程将看到对文件所做的更改。所以你希望你的进程在“读取”文件之前“保存”文件。
不幸的是,这不是程序和文件的交互方式。只有当其他进程决定将更改写入文件时,您的进程才能看到更改。