【发布时间】:2013-09-25 04:59:58
【问题描述】:
基本上,我正在寻找一种方法来告诉我的程序在打开文件之前保存它。假设情况是我有一个不断手动写入的文本文件,但我的程序也在不断读取它。我如何告诉我的程序在每次打开文件之前保存文件?
我不能 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”之前保存它。
【问题讨论】:
-
您需要澄清您的要求。你的程序是一边写一边读,还是另一个进程?
-
恐怕你是对的,这个问题没有多大意义。你能澄清谁在写文件,谁在读吗?两者的过程是否相同?如果它是两个独立的进程,你是否同时控制它们?
-
我对 Excel 编程了解不多,但我怀疑你需要从另一端接近它才能做你想做的事。您能否更改将数据添加到 excel 文件的方式,以便在每次添加后保存文件?我不认为从 Python 方面有任何简单的方法可以做到这一点,至少,不仅仅是触摸数据文件。另一方面,您可能需要将
excel标签添加到问题中。 -
所以你的意思是你想强制Excel进程保存?它是否在同一主机上运行?您可能可以通过 DDE 执行此操作。我会质疑是否有比这更好的方法来解决这个问题。
-
你们是对的,我从错误的角度处理问题。我会尝试找到一种方法让我的 excel 文件在每次更改后自动保存。谢谢!