说明(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最终版的更多相关文章

  1. Python学习笔记22:Django下载并安装

    Django它是一个开源Web应用程序框架.由Python书面. 通过MVC软件设计模式,这种模式M,视图V和控制器C. 它最初是一个数字新闻内容为主的网站已经发展到管理劳伦斯出版集团.那是,CMS( ...

  2. python学习笔记22(group)

    正则表达式中,group()用来提出分组截获的字符串,()用来分组 import re a = "123abc456" print re.search("([0-9]*) ...

  3. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  4. Python学习笔记,day5

    Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...

  5. 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细

    翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...

  6. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  7. Deep learning with Python 学习笔记(8)

    Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Ker ...

  8. Deep learning with Python 学习笔记(6)

    本节介绍循环神经网络及其优化 循环神经网络(RNN,recurrent neural network)处理序列的方式是,遍历所有序列元素,并保存一个状态(state),其中包含与已查看内容相关的信息. ...

  9. Deep learning with Python 学习笔记(4)

    本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...

随机推荐

  1. spring MVC环境搭建

    1.新建web项目,并在web.xml加入spring mvc的servlet <!-- spring mvc容器和servlet的定义 --> <servlet> <s ...

  2. c# 获取北京时间更新本地计算机

    class UpdateDateTime { [DllImport("Kernel32.dll")] private static extern void SetLocalTime ...

  3. 【laravel5.4】迁移文件的生成、修改、删除

    建议直接去官方文档查看: https://laravel-china.org/docs/laravel/5.4/migrations#creating-columns 1.生成迁移: 主要方式:1.创 ...

  4. 使用CXF实现基于Rest方式的WebService(转)

    转自:https://www.cnblogs.com/zjm701/p/6845813.html原文更清晰 本文介绍使用CXF实现基于Rest方式的WebService(CXF的版本是3.0.0) 一 ...

  5. java学习之第五章编程题示例(初学篇)

    /* Animal.java */ package animal; public abstract class Animal { public abstract void cry(); public ...

  6. JAvaScript:JS数组元素去重的方法

    在做javascript开发的时候,经常会遇到数组元素重复的问题,而javascript Array又没有直接提供方法解决此问题,还需要自己去实现. 方案一: 思路: 1.构建一个新的数组存放结果: ...

  7. Mac下搭建svn服务器和XCode配置svn

    先打开命令行终端. 1.创建svn repository svnadmin create /yourpath/svnroot/repository 2.配置svn用户权限. / yourpath /s ...

  8. 网站跳转到cgi-sys/defaultwebpage.cgi的原因和解决方式

    cpanel遇到这种问题,看了这篇文章老鹰主机域名解析A记录教程–关于cgi-sys/defaultwebpage.cgi后,尝试后     首先ping 域名,结果如下     看到没有ping结果 ...

  9. JMeter学习笔记--详解JMeter配置元件

    JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...

  10. iptalbes -F

    iptalbes -F -F, --flush [chain] Flush the selected chain (all the chains in the table if none is giv ...