1from natural.date import duration 2from natural.size import filesize 3import os 4import stat 5 6 7def accessed(filename): 8 ''' 9 Retrieve how long ago a file has been accessed. 10 11 :param filename: name of the file 12 13 >>> print accessed(__file__) # doctest: +SKIP 14 just now 15 ''' 16 if isinstance(filename, file): 17 filename = filename.name 18 19 return duration(os.stat(filename)[stat.ST_ATIME]) 20 21 22def created(filename): 23 ''' 24 Retrieve how long ago a file has been created. 25 26 :param filename: name of the file 27 28 >>> print created('/') # doctest: +SKIP 29 8 weeks ago 30 ''' 31 if isinstance(filename, file): 32 filename = filename.name 33 34 return duration(os.stat(filename)[stat.ST_CTIME]) 35 36 37def modified(filename): 38 ''' 39 Retrieve how long ago a file has been modified. 40 41 :param filename: name of the file 42 43 >>> print modified('/') # doctest: +SKIP 44 3 days ago 45 ''' 46 if isinstance(filename, file): 47 filename = filename.name 48 49 return duration(os.stat(filename)[stat.ST_MTIME]) 50 51 52def size(filename, format='decimal'): 53 ''' 54 Retrieve the size of a file. 55 56 :param filename: name of the file 57 58 >>> size('/etc/mime.types') # doctest: +SKIP 59 23.70 kB 60 61 ''' 62 if isinstance(filename, file): 63 filename = filename.name 64 65 return filesize(os.stat(filename)[stat.ST_SIZE], format) 66