如何检查文件是否关闭?

How to check if a file is closed?

请帮我写一个代码来检查文件是否打开和关闭。我尝试了下面的代码,但它不起作用。我只需要 python 检查 chat.xls 文件是否打开,如果为真,python 应该关闭 chat.xls 请帮助这是我试过的

closeXl = r"C:\Users\R\Downloads\Chat.xls"
if not closeXl.closed:
    closeXl.close()

AttributeError: 'str' 对象没有属性 'closed'

file_object.closed 仅适用于由同一 Python 进程打开的文件。在某些时候你应该完成 f = open(r"C:\Users\R\Downloads\Chat.xls")(如果你没有,.closed 不应该工作)。稍后您可以检查 if not f.closed:.

你的 AttributeError 似乎说你应该在文件句柄而不是路径字符串上执行 .close()。

closeXl = r"C:\Users\R\Downloads\Chat.xls"
file = open(closeX1)

if not file.closed:
    file.close()

在大多数情况下,更好的解决方案是使用 with 语句。它会在块的末尾自动关闭文件。

closeXl = r"C:\Users\R\Downloads\Chat.xls"
with open(closeX1) as file:
   pass  # your code here

如果你想检查一个文件是否被另一个进程以读写方式打开并因此被锁定,你应该看看: https://www.calazan.com/how-to-check-if-a-file-is-locked-in-python/

您应该在访问 closed 属性之前打开文件

>>> f = open('1.txt')
>>> f
<open file '1.txt', mode 'r' at 0x10de8c6f0>
>>> f.closed
False
>>> f.close()
>>> f.closed
True