With python, How to read the "date created" of a file?

datecreated, exif, image, python

Solution

You need to be using a string for the filename instead of the file object.

>>> import os.path, time
>>> f = open('test.test')
>>> data = f.read()
>>> f.close()
>>> print "last modified: %s" % time.ctime(os.path.getmtime('test.test'))
last modified: Fri Apr 13 20:39:21 2012
>>> print "created : %s" % time.ctime(os.path.getctime('test.test'))
created : Fri Apr 13 20:39:21 2012

Problem

I am writing a short script in python that will scan through a list of folders for image files and then re-organize them. One of the optional way of organizing them i wish to have is by the date they are created. Currently, I am trying to read the image creation date as follows ``` import os.path, time f = open("hi.jpg") data = f.read() f.close() print "last modified: %s" % time.ctime(os.path.getmtime(f)) print "created: %s" % time.ctime(os.path.getctime(f)) ``` But I get an error that reads ``` Traceback (most recent call last): File "TestEXIFread.py", line 6, in <module> print "last modified: %s" % time.ctime(os.path.getmtime(f)) File "/usr/lib/python2.7/genericpath.py", line 54, in getmtime return os.stat(filename).st_mtime TypeError: coercing to Unicode: need string or buffer, file found ``` Can anyone tell me what it means?

Original source

Related problems