动感网页相册 python编写简单文件夹内图片浏览工具


Posted in Python onAugust 17, 2016

不知道大家有没有这样的体验,windows电脑上查看一张gif图,默认就把IE给打开了,还弹出个什么询问项,好麻烦的感觉。所以为了解决自己的这个问题,写了个简单的文件夹内图片浏览工具。

效果图

以E盘某一文件夹为例

动感网页相册 python编写简单文件夹内图片浏览工具

效果图

动感网页相册 python编写简单文件夹内图片浏览工具

实现思路

动感网页相册 python编写简单文件夹内图片浏览工具

业务代码

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#  __author__ = '郭 璞'
#  __date__ = '2016/8/5'
#  __Desc__ = 自动生成网页相册
import os


# 呵呵了,原来有标准库中的walk方法。那么这个方法就获得一个文件夹下的图片文件吧
def getFiles(filepath):
  files = []
  if os.path.isdir(filepath):
    for file in os.listdir(filepath):
      if os.path.isdir(file):
        getFiles(file)
      elif file.endswith('.jpg') or file.endswith('.png') or file.endswith('.gif'):
        files.append(filepath + str(file))
  elif os.path.isfile(filepath):
    files.append(filepath)
  return files


# 获取给定目录下所有以.jpg .png .gif结尾的文件,并补全路径保存到列表中输出
def recourse(filepath):
  files = []
  for fpathe, dirs, fs in os.walk(filepath):
    for f in fs:
      if f.endswith('.jpg') or f.endswith('.png') or f.endswith('.gif'):
        files.append(os.path.join(fpathe, f))
  return files


# 生成网页源码文件,指定
def generate(files, shuffle=False):
  template_start = '''
  <html><head><meta charset='utf-8'><title>网页版相册</title><link rel="stylesheet" type="text/css" href="csshake-slow.min.css">
  <link rel="stylesheet" type="text/css" href="http://csshake.surge.sh/csshake-slow.min.css"></script></head><body>
  '''
  template_body = ''
  # 如果指定乱序,就乱序列表中的数据
  if shuffle == True:
    from random import shuffle
    shuffle(files)
  for file in files:
    template_body += '<a href="' + file + '"><img class="shake-slow" src="' + file + '" style="width:64px;height:auto;"></a>'

  template_end = '''
  </body></html>
  '''%
  html = template_start + template_body + template_end
  return html

# 生成html文件,并输出到指定的目录
def write2File(filepath, data):
  file = open(filepath, 'wb')
  file.write(data)
  file.close()
  print 'Write to file Scuuess!'


if __name__ == "__main__":
  # E:\\Picture\\LOFTER\\
  filepath = 'E:\\Picture\\LOFTER\\'
  files = recourse(filepath=filepath)
  for item in files:
    print item
  html = generate(files, True)
  output_path = r'C:\Users\Administrator\Desktop\test.html'
  write2File(filepath=output_path, data=html)
  print 'HTML相册文件已生成在桌面,请查看'

总结
 •首先说一下缺点:
◦缺点很明显,对于中文支持的不够好,因为查看图片大图的时候是以超链接的形式出现的,所以会发生乱码的情况。
◦然后是优点:
优点不是很明显,因为如果一个文件夹下面有很多的子文件夹,或者图片很多的时候,就会很慢了。

 •然后说一下可以改进的地方
◦引入JQuery,添加双击事件相应,实现双击删除不想要的图片

 ◦使用多线程的方式运行代码,加快网页的生成速度

最后,我想说的是,虽然这是个娱乐性质的小东西,但是多发挥一下想象力,不断地完善,对我们开发而言,一定会有帮助的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 Python
Python计算一个文件里字数的方法
Jun 15 Python
在Python 3中实现类型检查器的简单方法
Jul 03 Python
python opencv实现运动检测
Jul 10 Python
Django forms组件的使用教程
Oct 08 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
tensorboard显示空白的解决
Feb 15 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
Python3 webservice接口测试代码详解
Jun 23 Python
解决tensorflow 释放图,删除变量问题
Jun 23 Python
详解pycharm自动import所需的库的操作方法
Nov 30 Python
python使用XPath解析数据爬取起点小说网数据
Apr 22 Python
Python入门教程之运算符与控制流
Aug 17 #Python
python 循环while和for in简单实例
Aug 16 #Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 #Python
Python自动化测试Eclipse+Pydev 搭建开发环境
Aug 15 #Python
详解python的几种标准输出重定向方式
Aug 15 #Python
如何将python中的List转化成dictionary
Aug 15 #Python
怎样使用Python脚本日志功能
Aug 14 #Python
You might like
php和editplus正则表达式去除空白行
2015/04/17 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Python中new方法的详解
2019/01/15 Python
Python字典遍历操作实例小结
2019/03/05 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
django query模块
2019/04/20 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
Python 操作 MySQL数据库
2020/09/18 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
css3学习心得分享
2013/08/19 HTML / CSS
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
对公司合理化的建议书
2014/03/12 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
Java 在生活中的 10 大应用
2021/11/02 Java/Android
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
Python Pygame实战之塔防游戏的实现
2022/03/17 Python