
下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
import osimport shutilimport Imagefrom PIL.ExifTags import Tagsdef print_all_kNown_exif_Tags(): for k in sorted(Tags): print k,Tags[k] def print_all_exif_Tags(image): try: img = Image.open(image) except Exception,e: print image,"skipPing due to",e else: xf = img._getexif() for tag in xf: print Tags.get(tag),xf[tag] finally: print 'done' def get_minimum_creation_time(exif_data): mtime = "?" if 306 in exif_data and exif_data[306] < mtime: # 306 = DateTime mtime = exif_data[306] if 36867 in exif_data and exif_data[36867] < mtime: # 36867 = DateTimeOriginal mtime = exif_data[36867] if 36868 in exif_data and exif_data[36868] < mtime: # 36868 = DateTimeDigitized mtime = exif_data[36868] return mtime def get_creationdate_with_filename_as_dict(List_of_folders): print "Processing all image files in:" result = {} for folder in List_of_folders: print "- " + folder counter = 0 for f in os.Listdir(folder): counter += 1 fullfilename = folder + "\" + f try: img = Image.open(fullfilename) except Exception,e: print " SkipPing '%s' due to exception: %s"%(f,e) continue mtime = get_minimum_creation_time(img._getexif()) i = 0 while mtime+"_"*i in result: i += 1 mtime = mtime+"_"*i result[mtime] = fullfilename print " Found %s orignal files in %s."%(counter,folder) print "Added total of %s to dictionary."%len(result) return result def copy_from_image_dict_to_directory(image_dict,output_dir): assert os.path.exists(output_dir) for i,key in enumerate(sorted(image_dict)): dummy,extension = os.path.splitext(image_dict[key]) new_file_name = key.replace(":","-") + extension output_file = output_dir + new_file_name shutil.copy2(image_dict[key],output_file) print "copIEd %s files to %s"%(i+1,output_dir) if __name__=="__main__": source_dir = "/var/tmp/images" output_dir = "/var/tmp/output" # obtain /var/tmp/images/iPhone,/var/tmp/images/CanonPowerShot,/var/tmp/images/Nikon1 List_of_folders = [source_dir + subfolder for subfolder in os.Listdir(source_dir)] all_files = get_creationdate_with_filename_as_dict(List_of_folders) copy_from_image_dict_to_directory(all_files,output_dir) 以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的python让图片按照exif信息里的创建时间进行排序全部内容,希望文章能够帮你解决python让图片按照exif信息里的创建时间进行排序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)