python学习笔记(22)--漫画生成html最终版
说明(2017.3.14):
1. 在主文件夹生成一个main.html作为目录
2. 在每个子文件夹生成一个index.html作为看图网页
3. 通过python批量生成html网页,js配合进行遍历输出a链接
4. 生成一个booklist.js文件,存放目录数组,不然字符串不能与数组连接。这个数组是通过字符串伪装出来的,遍历数组,每个元素加上引号和逗号,去掉最后一个逗号,最后两边加上括号,var赋值就可以了。
5. 效果还不错,可以作为本地小黄网了!
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os # pathMain = r"E:\manhua\mh"
pathMain = os.getcwd()
def createIndex():
for paths, folders, filenames in os.walk(pathMain):
# print(folders)
for folder in folders:
root = os.path.join(paths,folder)
page = len(os.listdir(root))
# print(page)
os.chdir(root)
html = open("index.html","w",encoding="utf-8")
text = '''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
<title>'''+folder+'''</title>
<style type="text/css">
body{
text-align: center;
}
img{
width: 80%;
}
</style>
</head>
<body>
<h1>'''+folder+'''</h1>
<div id="div">
</div>
</body>
<script type="text/javascript">
var page = '''+str(page)+''';
var text = "";
for (var i = 0; i < page; i++) {
text += '<img src="'+i+'.jpg" alt="">';
}
var div = document.getElementById("div");
div.innerHTML = text;
</script>
</html>
'''
html.write(text)
html.close()
def createMain():
filenames = os.listdir(pathMain)
os.chdir(pathMain)
folders = []
for filename in filenames:
if os.path.isdir(filename):
folders.append(filename) with open("booklist.js","w",encoding="utf-8") as f1:
txt1 = ""
for folder in folders:
txt1 += "'"+folder+"'" + ","
booklist = '''
var booklist = ['''+txt1[0:-1]+'''];
'''
f1.write(booklist)
with open("main.html","w",encoding="utf-8") as f:
txt = '''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
<title>妖气漫画</title>
<style type="text/css">
body{
font-family: "Microsoft YaHei";
font-size: 16px;
}
</style>
</head>
<body>
<div id="div">
</div>
</body>
<script src="booklist.js"></script>
<script type="text/javascript">
var folders = booklist;
var div = document.getElementById("div");
var txt = "";
for (var i = 0; i < folders.length; i++) {
txt += '<a href="'+folders[i]+'/index.html">'+folders[i]+'</a><br/>';
}
div.innerHTML = txt;
</script>
</html> '''
f.write(txt) createMain()
createIndex()
python学习笔记(22)--漫画生成html最终版的更多相关文章
- Python学习笔记22:Django下载并安装
Django它是一个开源Web应用程序框架.由Python书面. 通过MVC软件设计模式,这种模式M,视图V和控制器C. 它最初是一个数字新闻内容为主的网站已经发展到管理劳伦斯出版集团.那是,CMS( ...
- python学习笔记22(group)
正则表达式中,group()用来提出分组截获的字符串,()用来分组 import re a = "123abc456" print re.search("([0-9]*) ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Python学习笔记,day5
Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...
- 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细
翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...
- Deep learning with Python 学习笔记(10)
生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...
- Deep learning with Python 学习笔记(8)
Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Ker ...
- Deep learning with Python 学习笔记(6)
本节介绍循环神经网络及其优化 循环神经网络(RNN,recurrent neural network)处理序列的方式是,遍历所有序列元素,并保存一个状态(state),其中包含与已查看内容相关的信息. ...
- Deep learning with Python 学习笔记(4)
本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...
随机推荐
- RHEL和Centos常用版本
学而优则仕,思则进步也Q Redhat: http://pan.baidu.com/s/1qXKRqqS Centos: http://pan.baidu.com/s/1o8RrjXw
- Dubbo Monitor 配置
1. Dubbo Monitor 下载dubbo-monitor-simple-2.5.3-assembly.tar.gz 链接:http://pan.baidu.com/s/1gf88wDX 密码: ...
- 【mysql】Innodb三大特性之adaptive hash index
1.Adaptive Hash Indexes 定义 If a table fits almost entirely in main memory, the fastest way to perfor ...
- ASP.NET 对字符串大小写切换
来源:http://www.codeproject.com/Tips/297011/How-to-Toggle-String-Case-in-NET#alternative22 使用LINQ: pub ...
- [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换(转)
转自:[CXF REST标准实战系列] 一.JAXB xml与javaBean的转换 文章Points: 1.不认识到犯错,然后得到永久的教训. 2.认识JAXB 3.代码实战 1.不认识到犯错,然后 ...
- HDUOJ----4502吉哥系列故事——临时工计划
吉哥系列故事——临时工计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- eclipse修改文件编码
http://topic.csdn.net/u/20080724/14/428de399-790d-442a-8340-3a5fb6dcfcee.html[修改文件编码,假设JS] 在Eclips ...
- H5版如何在微信外(非微信浏览器)进行微信支付技术方案
官方是支持在非微信内置浏览器中调起微信支付的!H5支付是基于公众号基础开发的一种非微信内浏览器支付方式(需要单独申请支付权限),可以满足在微信外的手机H5页面进行微信支付的需求.同时,由于H5链接传播 ...
- JVM性能监控
有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 这些问题在日常开发中可能被很多人忽 ...
- 记录VSCode开发React Native的一些坑
当我们点Debug Android时,会弹出以下错误 Could not debug. Unable to set up communication with VSCode react-native ...