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)
本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...
随机推荐
- js 获取地址栏的值乱码问题
传过去的参数是:(01) 0 6936841 40029 4. 接收的参数的:'(01)%200%206936841%2040029%204'. 因为包含空格,或者中文,就会乱码.要想不乱码,接收的使 ...
- OpenWrt设置访客网络Guest Wi-Fi
参考 https://wiki.openwrt.org/doc/recipes/guest-wlan-webinterface 1. 在2.4GHz Wireless Controller下, 创建访 ...
- TaskController
package main.java.com.zte.controller.system; import java.io.PrintWriter; import java.util.ArrayList; ...
- java随机函数使用方法Random
import java.util.Random; public class RandomNumber{ public static void main(String[] args) { // 使用ja ...
- 搭建Hexo博客并部署到Github
参考: http://www.jianshu.com/p/a67792d93682 http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d. ...
- 【转】ubuntu如何修改/添加/删除硬盘分区的挂载(点)?
我(macroliu)的问题:安装ubuntu时,/home单独挂载在一个分区,此后我想调整分区大小,删除了/home对应的分区以及另外几个分区,导致开机时找不到挂载点.把硬盘空闲空间分好区后,想把1 ...
- HDUOJ----1166敌兵布阵(线段树单点更新)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- Lucene使用与优化(转)
原文链接:http://blog.csdn.net/hongfu_/article/details/1933346 本文所使用的Lucene版本较低,年代久远,许多API可能已经变了. 1 lucen ...
- 【LeetCode】51. N-Queens
N-Queens The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no tw ...
- C++:借助tinyxml2读取XML文件
// XMLT01.cpp : 定义控制台应用程序的入口点.//#include "stdafx.h"#include <iostream>#include " ...