2012-04-14 4 views
3

私は画像ファイルのフォルダのリストをスキャンし、それらを再編成する短いスクリプトをPythonで書いています。Pythonでは、ファイルの「作成日」を読むにはどうすればいいですか?

私が望むものを整理するためのオプションの方法の1つは、作成日までです。

現在、私は

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

ありがとうございます、コードは現在動作しますが、2つの違いは何ですか? – Synia

+1

@Synia fは、ファイルオブジェクトです。ファイルオブジェクトの読み込み、書き込み、またはファイルへの追加に使用されます。必要なのは、ファイル自体の名前ではなく、ファイルの名前だけです。 –

関連する問題