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)
本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...
随机推荐
- mybatis标签之——关联映射
关联关系是面向对象分析.面向对象设计最重要的知识.合理的关联映射将大大简化持久层数据的访问.关联关系大致分为以下三类: 一对一 一对多 多对多 1. 一对一 一对一关系推荐使用唯一主外键关联,即两张表 ...
- 深入PHP内核之全局变量
在阅读PHP源码的时候,会遇到很多诸如:CG(),EG() ,PG(),FG()这样的宏,如果不了解这些宏的意义,会给理解源码造成很大困难 EG().这个宏可以用来访问符号表,函数,资源信息和常量 C ...
- shell脚本死循环判断nginx日志reqest_time时间大于3秒是否增加,若增加发送相关日志信息到开发人员
#!/bin/bash while [ 1 ] do pre_request_time_count=`cat /var/log/nginx/access.log |awk '{print $NF}'| ...
- 苹果越狱后必备软件,总有你需要的!11月23日追加14个,支持【iOS4】
http://bbs.dospy.com/thread-7398730-1-301-2.html越狱后必备软件,总有你需要的!11月23日追加14个,支持[iOS4] 背景自定义插件
- RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer) [转]
什么是ProtoBuf? 一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或 RPC 数据交换格式.可用于通讯协议.数据存储等领域的语言无关.平台无关.可扩 ...
- Redis下载和安装
原文地址:https://redis.io/download Download Redis uses a standard practice for its versioning: major.min ...
- Find and Grep
find 1.格式 Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [ ...
- 在T-SQL语句中访问远程数据库
1.启用Ad Hoc Distributed Queries 在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务 ...
- Sql 列转行 三种方法对比
合并列值 --******************************************************************************************* ...
- MVC 之Action
下面我要重新温习一下,MVC控制器中的Action方法相关概念: 1.Action方法必须是public,不能是private或者是protected; 2.Action方法不能够被重载: 3.Act ...