2012-04-14 55 views
3

我正在Python中寫一個簡短的腳本,它將掃描圖像文件的文件夾列表,然後重新組織它們。用python,如何讀取文件的「創建日期」?

組織它們的一種可選方法是我希望它的創建日期是。

目前,我想讀如下

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)) 

圖像創建日期,但我得到的是一條錯誤

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 

誰能告訴我這是什麼意思?

回答

6

您需要爲文件名而不是文件對象使用字符串。

>>> 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 
+0

謝謝,代碼現在可以使用,但請你向我解釋兩者之間的區別是什麼? – Synia 2012-04-14 01:00:23

+1

@Synia f是一個文件對象,用於讀取,寫入或附加到文件。你需要的只是文件的名稱,而不是文件本身。 – 2012-04-14 01:25:09

相關問題