Ayúdame con un código que verifique si un archivo se abre y lo cierra. Intenté el siguiente código y no funciona. Solo necesito python para verificar si el archivo chat.xls está abierto y, si es verdadero, python debería cerrar chat.xls. Ayuda amablemente, esto es lo que probé
closeXl = r"C:\Users\R\Downloads\Chat.xls"
if not closeXl.closed:
closeXl.close()
AttributeError: el objeto 'str' no tiene atributo 'cerrado'
3 respuestas
Su AttributeError parece decir que debe ejecutar .close () en el identificador de archivo en lugar de en la cadena de ruta.
closeXl = r"C:\Users\R\Downloads\Chat.xls"
file = open(closeX1)
if not file.closed:
file.close()
En la mayoría de los casos, sería una mejor solución usar la instrucción with. Cierra el archivo automáticamente al final del bloque.
closeXl = r"C:\Users\R\Downloads\Chat.xls"
with open(closeX1) as file:
pass # your code here
Si desea verificar si un archivo está abierto de lectura-escritura desde otro proceso y, por lo tanto, está bloqueado, debe echar un vistazo a: https: //www.calazan .com / how-to-check-if-a-file-is-locked-in-python /
file_object.closed
solo funciona para archivos que han sido abiertos por el mismo proceso de Python. En algún momento deberías haber hecho f = open(r"C:\Users\R\Downloads\Chat.xls")
(si no lo has hecho, .closed
no debería funcionar). Luego, puede verificar if not f.closed:
.
Debe abrir el archivo antes de acceder al atributo closed
>>> f = open('1.txt')
>>> f
<open file '1.txt', mode 'r' at 0x10de8c6f0>
>>> f.closed
False
>>> f.close()
>>> f.closed
True
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.