所以我有一个XLS文件,它是通过xlutils库访问的。当我的程序完成了它的进程,它应该删除原始文件并将临时文件重命名为原始文件。excel文件中的数据被输入到一个网站中,网站中的数据被提取出来,然后写入excel表格。所有这些都是好的,但是,当它完成时,它有一个问题重命名临时文件。在
临时文件只是通过以下函数生成的副本:def rename(self, fpath):
tempf=os.path.splitext(fpath)[0]
tempf=tempf + "-output" + ".xls"
shutil.copyfile(fpath,tempf)
return tempf
我创建了一个函数,当输入数据和提取的for循环结束时调用:
^{pr2}$
使用Process Explorer,它显示临时文件仍在中打开python.exe. 我不知道如何关闭文件并释放内存,因为它是通过以下方式打开的:rbook=open_workbook(file)
sheet = rbook.sheet_by_index(0)
文件将被替换为自身温度是。在
当按下GO按钮时,会发生以下情况:def onGo(self, event):
fpath=self.pathBox
fpath=fpath.GetValue()
self.fpath=fpath
temp=myClass.rename(fpath)
self.temp=temp
openFile(temp)
def rename(self, fpath):
tempf=os.path.splitext(fpath)[0]
tempf=tempf + ".alf"
shutil.copyfile(fpath,tempf)
return tempf
因此,将获得名为“pathBox”的SearchCtrl中的文件名,并生成临时副本,然后重命名。在