5

フォルダーのリストをスキャンして画像ファイルを探し、それらを再編成する短いスクリプトを 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

誰がそれが何を意味するのか教えてもらえますか?

4

1 に答える 1

8

ファイル オブジェクトの代わりにファイル名に文字列を使用する必要があります。

>>> 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
于 2012-04-14T00:39:02.740 に答える