我正在尝试检查一个文件是否存在,如果它确实存在,我想通过尝试重命名它来检查它是否打开。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文档。有没有办法做到这一点?
发布于 2017-03-24 02:57:30
您正在检查文件是否由计算机上的其他应用程序打开。如果是这样的话,这个程序对此也无能为力。你不能关闭其他程序的文件。您可能会找到该程序并终止它,但即使是这样也不容易。在https://serverfault.com/questions/1966/how-do-you-find-what-process-is-holding-a-file-open-in-windows上有一些建议。
发布于 2017-03-24 02:13:37
except中没有打开的文件。所以不需要调用os.close()。https://docs.python.org/2/library/os.html#os.rename
os.close()此函数用于低级I/O,必须应用于os.open()或pipe()返回的文件描述符。要关闭由内置函数open()或popen()或fdopen()返回的“文件对象”,请使用其close()方法。
https://stackoverflow.com/questions/42983751
复制相似问题