es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La función readline() no está devolviendo nada a pesar de haber utilizado seek(0).

He escrito esto para realizar una limpieza automatizada de archivos en mi carpeta de la escuela, pero la última parte del código al final no está devolviendo nada cuando lo que quiero obtener es el año en que se creó la carpeta.

En este momento, la terminal me está mostrando lo siguiente:

Yr 10 Cdate.txt
0

donde la última línea está en blanco, pero debería ser 2020.

código:

import os
from datetime import datetime

folder = r"C:\Users\placeholder\OneDrive\aa.School\Yr 10"
line2 = "Yr 10"

creationtime = os.stat(folder).st_ctime
Ctime = datetime.fromtimestamp(creationtime)

c = line2, " Cdate.txt"
fname = ''.join(c)
d = open(fname, "w")
d.write(str(Ctime))
print(fname)

# revisa archivos txt para obtener datos de tiempo
e = open(fname)
print(e.tell())
e.seek(0)
print(e.read(4))
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el código está intentando recuperar el año en que se creó la carpeta escribiendo la hora de creación en un archivo de texto y luego leyendo los primeros cuatro caracteres de ese archivo. Sin embargo, el resultado es vacío en lugar del año de creación esperado (2020).

    Un posible problema podría estar relacionado con el formato de la hora de creación al escribirlo en el archivo de texto. Dado que el código solo intenta leer los primeros cuatro caracteres del archivo de texto, es posible que el año no esté escrito en el formato esperado.

    Otro problema podría estar relacionado con la ruta o el nombre del archivo. Es importante asegurarse de que el nombre del archivo que se escribe y se lee coincida exactamente, incluyendo cualquier espacio o mayúscula.

    Por último, no está claro qué intenta lograr la función e.tell() en el código proporcionado. Dependiendo del tamaño del archivo de texto que se está leyendo, esta función puede devolver un valor inesperado.

    Para solucionar el problema, podría ser útil imprimir el contenido del archivo de texto antes de intentar recuperar el año y verificar nuevamente la ruta y el nombre del archivo. Además, probar la función e.tell() en archivos de texto más pequeños o eliminarla por completo podría ayudar a identificar cualquier problema.

Comments are closed.