动感网页相册 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 相关文章推荐
python每次处理固定个数的字符的方法总结
Jan 29 Python
在Python中操作字符串之replace()方法的使用
May 19 Python
Python中的集合类型知识讲解
Aug 19 Python
Python Sql数据库增删改查操作简单封装
Apr 18 Python
详解python调用cmd命令三种方法
Jul 08 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 Python
Pytorch 多维数组运算过程的索引处理方式
Dec 27 Python
Python3 pickle对象串行化代码实例解析
Mar 23 Python
python 读txt文件,按‘,’分割每行数据操作
Jul 05 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 Python
解决python3安装pandas出错的问题
May 20 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中md5()函数的用法讲解
2019/03/30 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
JavaScript中立即执行函数实例详解
2017/11/04 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python去除字符串中的换行符
2017/10/11 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
python实现flappy bird游戏
2018/12/24 Python
Python requests模块实例用法
2019/02/11 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
python统计文章中单词出现次数实例
2020/02/27 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
数控专业毕业生求职信范文
2013/09/21 职场文书
新书吧创业计划书
2014/01/31 职场文书
个人求职自荐信范文
2014/06/20 职场文书
护士节活动总结
2014/08/29 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书
学历证明范文
2015/06/16 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
Python图片检索之以图搜图
2021/05/31 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python