python html压缩包,用python制作一个简单html压缩
简介
举洪荒之力,集天地精华,亲自操刀,用python玩一玩。
真是,虽有嘉肴,弗食,不知其旨也;虽有至道,弗学,不知其善也。
这个压缩很low,并没有什么留掰的,非常简单,可以说只比压缩前小一点点而已,
此乃缺点,优点是不会出错!!!
流程
思路
其实就是去回车而已,如果可以就加上去空格,不过去空格要定为两个才能去,不然标签会出错。因为很low,所以js和css不压缩。
程序载入→遍历目录文件→逐个压缩
实现
个人比较懒,直接饮用网上的某函数import os
def getFiles(dir, suffix): # 查找根目录,文件后缀
res = []
for root, directory, files in os.walk(dir): # =>当前根,根下目录,目录下的文件
for filename in files:
name, suf = os.path.splitext(filename) # =>文件名,文件后缀
if suf == suffix:
res.append(os.path.join(root, filename)) # =>吧一串字符串组合成路径
return res
for file in getFiles("./", '.py'): # =>查找以.py结尾的文件
print(file)
去注释,改文件名,在用replace替换使路径可用,加上判断是否要这个路径,修改后如下
修改函数import os
def getFiles(dir, suffix):
res = []
for root, directory, files in os.walk(dir):
for filename in files:
name, suf = os.path.splitext(filename)
if suf == suffix:
res.append(os.path.join(root, filename))
return res
for file in getFiles(r"html所在文件夹路径", '.html'):
if file == r"D:\blog\public\404.html":
continue
elif:
pass
path = file.replace("\\","\\\\")
print(path)
定义处理函数def delete(string):
res = string.replace("\n","").replace(" ","")
return res
流程text_list = []
with open(path,"r",encoding="UTF-8") as f:
Not_Change = False
for each in f.readlines():
long += len(each)
if "
text_list.append(each)
continue
if "
text_list.append(each)
continue
if "
text_list.append(each)
continue
if "" in each:
Not_Change = False
text_list.append(delete(each))
continue
if "
text_list.append(each)
continue
if "" in each:
Not_Change = False
text_list.append(delete(each))
continue
if Not_Change:
text_list.append(each)
else:
text_list.append(delete(each))
with open(path,"w",encoding="UTF-8") as f:
for each in text_list:
short += len(each)
f.write(each)
print(file + " 压缩完成!一共节省了" + str(long-short) + "个字符!")
END
简直是绞尽脑汁,哈哈哈!压缩这玩意,还行!
最后附上完整代码!import os
total = 0
def getFiles(dir, suffix):
res = []
for root, directory, files in os.walk(dir):
for filename in files:
name, suf = os.path.splitext(filename)
if suf == suffix:
res.append(os.path.join(root, filename))
return res
def delete(string):
res = string.replace("\n","").replace(" ","")
return res
for file in getFiles(r"D:\blog\public", '.html'):
if file == r"D:\blog\public\404.html":
continue
elif True:
pass
path = file.replace("\\","\\\\")
long = 0
short = 0
text_list = []
with open(path,"r",encoding="UTF-8") as f:
Not_Change = False
for each in f.readlines():
long += len(each)
if "
text_list.append(each)
continue
if "
text_list.append(each)
continue
if "
text_list.append(each)
continue
if "" in each:
Not_Change = False
text_list.append(delete(each))
continue
if "
text_list.append(each)
continue
if "" in each:
Not_Change = False
text_list.append(delete(each))
continue
if Not_Change:
text_list.append(each)
else:
text_list.append(delete(each))
with open(path,"w",encoding="UTF-8") as f:
for each in text_list:
short += len(each)
f.write(each)
print(file + " 压缩完成!一共节省了" + str(long-short) + "个字符!")
total += long-short
print("本次压缩共节省了%s个字符" %total)
input("回车退出!")
BUG
经测试,用这个压缩很容易把代码框的缩进一起去掉。而缩进是python的灵魂……
解决方法: 再加个代码框识别或放弃空格压缩。放弃空格压缩可直接在delete函数里的.replace(“ “,””)去掉。
python html压缩包,用python制作一个简单html压缩相关推荐
- 使用Hprose制作一个简单的分布式应用程序
2019独角兽企业重金招聘Python工程师标准>>> 使用Hprose制作一个简单的分布式应用程序只需要几分钟的时间.本文将用一个简单的实例来带您快速浏览使用Hprose for ...
- python计算器教程,用Python程序制作一个简单的计算器
用Python程序制作一个简单的计算器 在此示例中,您将学习创建一个简单的计算器,该计算器可以根据用户的输入进行加,减,乘或除. 要理解此示例,您应该了解以下Python编程主题: 通过函数创建简单计 ...
- 【meng_项目】python+flask+html+css制作一个简单的生日祝福语网页
python+flask+html+css制作一个简单的生日祝福语网页 一个py文件: test.py 一个html文件: birthday_index.html 一张图片: ...
- Python制作一个简单的抽奖软件(二)
Python制作一个简单的抽奖软件(二) 认识QT 因为都对 QT和tkinter都没用过,之前简单使用tkinter后发现,界面调整不太好弄.然后度娘了之后,QT是强大GUI库之一,很多人都推荐它. ...
- 用Python实现音频卷积,并制作一个简单的HRTF效果
用Python实现音频卷积,并制作一个简单的HRTF效果 作为一个刚刚入门Python的小白用户,写出这篇文章还是废了我很大的力气,不过幸运的是,在网上到处东拼西凑,我还是把它给做出来了. 废话不多说 ...
- Python开发第一步:如何制作一个简单的桌面应用
Python开发第一步:如何制作一个简单的桌面应用 前言 大家好,我是baifagg, 一个热爱Python的编程爱好者. 今天我们来学习一下, 如何用Python制作一个简单的桌面应用程序. 虽然桌 ...
- python通过Tkinter库实现的一个简单的文本编辑器源码
下边资料是关于python通过Tkinter库实现的一个简单的文本编辑器的内容. from tkSimpleDialog import askstring from tkFileDialog impo ...
- 数字信号 fft c源码_如何制作一个简单的人体动态识别微信小程序(附源码)
知乎小白第一次写专栏,还请多指教. 先放成果. GitHub源码: lrioxh/HAR-applet-of-Wechatgithub.com b站演示视频: 居然不需要服务器?!如何制作一个简单的 ...
- php怎么做考勤行事例,PHP开发制作一个简单的活动日程表Calendar
材料取之深入PHP与JQuery开发,这本书实际上就是讲述一个活动日程表. 此文章适合从其它语言(如java,C++,python等)转到php,没有系统学习php,或者是php初学者,已经对程序有较 ...
最新文章
- 程序员心中都有一个江湖,java世界,就是一个江湖!
- Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型
- 为什么使用 Vuetify?
- linux ip head check sun,linux panic 问题定位
- redis 内存不足 排查_Redis 系统学习之 redis 内存模型
- UOJ#244-[UER#7]短路【贪心】
- 基于弹性计算的AI推理
- havc是什么意思_avc是什么意?eduis里h.264/a – 手机爱问
- 10.RabbitMQ实战 --- 监控
- Sharepoint 浅谈 [转]
- iperf基本使用方式
- python源码剖析新版_Python 源码剖析之基础知识
- Axure share APP使用教程——如何在手机上演示axure文件
- 不会安装Lomboz?直接下载eclipse JEE吧。
- 拇指玩安装器提示“存储卡空间不足”的解决办法
- Godaddy美国主机推荐
- P2178 后缀数组 + 并查集
- 1.1.24 制作红头文件
- 从“赌场”到“大市场”——巴菲特进阶式看中国
- 理解OAuth 2.0 - 阮一峰的网络日志
热门文章
- java 普通类request_[Java教程]spring在普通类中获取session和request
- java session 生命周期_Java中httpsession生命周期
- jdbc远程连接mysql url_jdbc连接mysql之url书写
- 作者:李冰(1989-),女,中国电子技术标准化研究院工程师。
- 作者:刘建楠(1963-),男,就职于中国石油庆阳石化公司
- 作者:李晓明,男,北京大学教授、博士生导师。
- 【高等数学】一元函数积分表
- 【算法分析与设计】实验 动态规划算法解决找零钱问题
- 买到同类票的概率(洛谷P2719题题解,Java语言描述)
- 面试基础算法及编程 第二弹(链表相关:主要考察指针的应用)