write read print open modes create and python file

print - python read file line by line



Imprime la edad del archivo en segundos usando Python (3)

Necesito mi script para descargar el nuevo archivo, si el anterior es lo suficientemente antiguo. Pongo la edad máxima del archivo en segundos. Para volver al buen camino con la escritura de mi script, necesito un código de ejemplo, donde la antigüedad del archivo se imprime en segundos.


Esto muestra cómo encontrar la última modificación de un archivo (o directorio):

Aquí está la cantidad de segundos desde la Época, usando os.stat

import os st=os.stat(''/tmp'') mtime=st.st_mtime print(mtime) # 1325704746.52

O, equivalentemente, usando os.path.getmtime :

print(os.path.getmtime(''/tmp'')) # 1325704746.52

Si desea un objeto datetime.datetime :

import datetime print("mdatetime = {}".format(datetime.datetime.fromtimestamp(mtime))) # mdatetime = 2012-01-04 14:19:06.523398

O una cadena con time.ctime usando time.ctime

import stat print("last accessed => {}".format(time.ctime(st[stat.ST_ATIME]))) # last accessed => Wed Jan 4 14:09:55 2012 print("last modified => {}".format(time.ctime(st[stat.ST_MTIME]))) # last modified => Wed Jan 4 14:19:06 2012 print("last changed => {}".format(time.ctime(st[stat.ST_CTIME]))) # last changed => Wed Jan 4 14:19:06 2012

Aunque no lo mostré, hay equivalentes para encontrar el tiempo de acceso y el tiempo de cambio para todos estos métodos. Simplemente siga los enlaces y busque "atime" o "ctime".


Otro enfoque (sé que no fui la primera respuesta, pero aquí va de todos modos):

import time, os, stat def file_age_in_seconds(pathname): return time.time() - os.stat(pathname)[stat.ST_MTIME]