有时我们有这样一个需求:有编号为1-100的文件夹,里面有3-5张缩略图,需要将这些图片发布到网站上,每个文件夹中的图片发布到一张网页上。这时只需要将以下代码稍作修改即可。
本脚本功能为:获取本目录下的pic子目录中的所有图片(jpg,png,bmp,gif等,此处以jpg文件为例),然后生成一个image.html文件,代码如下:
#coding:utf-8 import os,sys def showImageInHTML(imageTypes,savedir): files=getAllFiles(savedir+'\\pic') images=[f for f in files if f[f.rfind('.')+1:] in imageTypes] images=[item for item in images if os.path.getsize(item)>5*1024] images=['pic'+item[item.rfind('\\'):] for item in images] newfile='%s\\%s'%(savedir,'images.html') with open(newfile,'w') as f: f.write('<div>') for image in images: f.write("<img src='%s'>\n"%image) f.write('</div>') print('success,images are wrapped up in %s'%newfile) def getAllFiles(directory): files=[] for dirpath, dirnames,filenames in os.walk(directory): if filenames!=[]: for file in filenames: files.append(dirpath+'\\'+file) files.sort(key=len) return files #获取脚本文件的当前路径 def cur_file_dir(): #获取脚本路径 path = sys.path[0] #判断为脚本文件还是py2exe编译后的文件,如果是脚本文件,则返回的是脚本的目录,如果是py2exe编译后的文件,则返回的是编译后的文件路径 if os.path.isdir(path): return path elif os.path.isfile(path): return os.path.dirname(path) if __name__ == '__main__': savedir=cur_file_dir()#获取当前.py脚本文件的文件路径 showImageInHTML(('jpg','png','gif'), savedir)#浏览所有jpg,png,gif文件
效果图如下: