os.close关闭打开word文档

时间:2017-03-23 18:07:10

标签: python

我正在尝试检查文件是否存在,如果它确实存在,我想通过尝试重命名来检查它是否已打开。 except块尝试使用os.close关闭打开的文件。当我尝试关闭文件时,我得到“TypeError:需要一个整数”。

import os
filepath = "C:\Users\oneilp6\Desktop"
file1 = filepath + "\\HelpFile.docx"
file2 = filepath + "\\HelpFile2.docx"
if os.path.exists(file1):
    try:
        os.rename(file1,file2)
    except:
        os.close(file1)

任何人有任何想法或想法?我试图关闭一个在MS Word中实际打开的word文档。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

您正在检查文件是否由计算机上的其他应用程序打开。如果是的话,这个程序可以做很多事情。您无法关闭其他程序的文件。你可能潜在地追捕那个程序并杀死它,但即使这样也不容易。 https://serverfault.com/questions/1966/how-do-you-find-what-process-is-holding-a-file-open-in-windows有一些建议。

答案 1 :(得分:0)

except中没有打开任何文件。所以不需要调用os.close()。 https://docs.python.org/2/library/os.html#os.rename

  

os.close()此函数适用于低级I / O,必须是   应用于os.open()或pipe()返回的文件描述符。至   关闭内置函数open()或by返回的“文件对象”   popen()或fdopen(),使用它的close()方法。