On Tue, Jul 22, 2014 at 06:32:43PM -0700, Eric Dannewitz wrote: > That's close. I have been playing from glob and os.walk but I'm at a > loss how to get the size, creation and modified date while running it.
Did you look at the functions in os.path as suggested? Here are the docs: https://docs.python.org/2/library/os.path.html Here's an example: py> filename = '/tmp/rubbish' py> with open(filename, 'w') as fp: ... x = fp.write('hello world') ... py> import os py> os.path.getsize(filename) 11 py> os.path.getmtime(filename) 1406277914.0 To convert the timestamp into a datetime object and human-readable string: py> import datetime py> d = datetime.datetime.fromtimestamp(os.path.getmtime(filename)) py> d datetime.datetime(2014, 7, 25, 18, 45, 14) py> py> d.strftime('%Y-%m-%d %H:%M:%S') '2014-07-25 18:45:14' By the way, "creation date" is not supported on all operating systems or file systems. The following is a little technical, but the executive summary is this: Python supports three file timestamps, atime, ctime and mtime. atime and mtime mean the same thing on every common system, but ctime does not: it may be creation time, or last change time. This is where it starts getting complicated... On Linux, Unix, Mac OS X, and other POSIX systems, three timestamps are normally recorded: atime: the last access (read or write) time ctime: the metadata change time, **not** creation time mtime: the last modification time Metadata change time means when the file permissions or ownership changes. Some POSIX systems can record the birth or creation time as well, or the time of last backup, depending on the file system. BSD and recent versions of Cygwin also support btime (birth or creation time), but there's no easy way to get that information from Python. On Windows, three or four timestamps are recorded, depending on the file system being used: Windows using FAT file system (Windows 95, 98, most USB sticks): atime: the last access time ctime: the creation time mtime: the last modification time Windows using NTFS file system (Windows NT, XP and newer): atime: the last access time ctime: the creation or birth time mtime: the last modification time plus the last metadata change time. Only mtime is consistently recorded by all common file and operating systems. Although atime is also recorded, some systems allow you to turn it off so it is no longer updated. In Python, you can use os.path.getatime, getctime and getmtime functions to return the atime (access), mtime (modification) and ctime (either creation or change) time. Oh, one last thing: be aware that the different timestamps have different resolutions. For example, on FAT file systems (like many USB sticks), the access time has a resolution of a full day! So getatime() on a file on a USB stick will probably tell you only what *day* it was last accessed, not the actual time. -- Steven _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor