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)
本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...
随机推荐
- 媒体类型(MIME类型)
# encoding=utf-8 #python 2.7.10 #xiaodeng #HTTP权威指南 #HTTP协议:超文本传输协议是在万维网上进行通信时所使用的协议方案. #媒体类型: #HTTP ...
- 转:完成端口(Completion Port)详解
手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ...
- Ways to 优化JAVA程序设计和编码,提高JAVA性能
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化.一般有两种方案:即优化代码或更改设计方法.我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能 ...
- 很轻很强大:轻量级桌面环境比较(转自linuxeden)
这天你终于下定决心购买了一台流行的 Netbook ,与往常装机一样,直接安装心爱的 Linux 发行版.好不容易安装完成了,却发现平日启动飞快的应用程序在 Netbook 上怎么都跑不快.怎么办呢? ...
- Swift代理造成内存泄漏的解决办法
在swift中,使用代理 ,可能很多人会这样实现: .首先定义一份协议. protocol ToolProrocol{ //代理方法 func didRecieveResults(result:Int ...
- 可以尝试用Google Font API来摆脱网页字体的单调 仅仅抛砖引玉
http://www.nowamagic.net/librarys/veda/detail/2513
- pythonl练习笔记——multiprocessing 多进程拷贝文件
分两份拷贝文件,父进程拷贝文件的前半部分,子进程拷贝文件的后半部分. import os import time #获取文件大小 size = os.path.getsize('wait.py') # ...
- 使用fork并发处理多个client的请求和对等通信p2p
一.在前面讲过的回射客户/服务器程序中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较老土的办法是使用fork来实现.网络服务 ...
- Linux时间子系统(十七) ARM generic timer驱动代码分析
一.前言 关注ARM平台上timer driver(clocksource chip driver和clockevent chip driver)的驱动工程师应该会注意到timer硬件的演化过程.在单 ...
- (一)RocketMq入门之安装运行
一.几个重要的地址 Git地址:https://github.com/apache/incubator-rocketmq 编译好的文件:https://rocketmq.incubator.apach ...