Я зробив невеликий і не дуже оптимізований сценарій пітона, який, на мою думку, робить те, що ви маєте намір:
1 import pyexiv2, sys, os, time, datetime, random
2 dirname = sys.argv[1]
3 flist=os.listdir(dirname)
4 dic = dict()
5 for fname in flist:
6 metadata = pyexiv2.ImageMetadata(sys.argv[1]+'/'+fname)
7 metadata.read()
8 tag = metadata['Exif.Image.DateTime']
9 timestamp = int(time.mktime(tag.value.timetuple()))
10 #print fname, ' ', tag.value, ' ', timestamp
11 try:
12 dic[timestamp] = fname
13 except:
14 print fname, ' not processed.'
15
16 keys = dic.keys()
17 keys.sort()
18 i = 0
19 for k in keys:
20 os.rename(sys.argv[1]+'/'+dic[k], sys.argv[1]+'/'+str(i)+'.jpg')
21 i+=1