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

14,765

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
Share:
14,765
davidx1
Author by

davidx1

Updated on June 04, 2022

Comments

  • davidx1
    davidx1 almost 2 years

    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?

  • davidx1
    davidx1 about 12 years
    Thank you, the code now works, but could you please explain to me what the difference between the two is?
  • Nolen Royalty
    Nolen Royalty about 12 years
    @Synia f is a file object, which is used for reading, writing, or appending to a file. What you need is just the name of the file, not the file itself.
  • anion
    anion over 4 years
    attenion: getctime will not return the creation-timestamp: docs.python.org/2/library/os.path.html#os.path.getctime