简介

举洪荒之力,集天地精华,亲自操刀,用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压缩相关推荐

  1. 使用Hprose制作一个简单的分布式应用程序

    2019独角兽企业重金招聘Python工程师标准>>> 使用Hprose制作一个简单的分布式应用程序只需要几分钟的时间.本文将用一个简单的实例来带您快速浏览使用Hprose for ...

  2. python计算器教程,用Python程序制作一个简单的计算器

    用Python程序制作一个简单的计算器 在此示例中,您将学习创建一个简单的计算器,该计算器可以根据用户的输入进行加,减,乘或除. 要理解此示例,您应该了解以下Python编程主题: 通过函数创建简单计 ...

  3. 【meng_项目】python+flask+html+css制作一个简单的生日祝福语网页

    python+flask+html+css制作一个简单的生日祝福语网页 一个py文件:     test.py 一个html文件:   birthday_index.html 一张图片:       ...

  4. Python制作一个简单的抽奖软件(二)

    Python制作一个简单的抽奖软件(二) 认识QT 因为都对 QT和tkinter都没用过,之前简单使用tkinter后发现,界面调整不太好弄.然后度娘了之后,QT是强大GUI库之一,很多人都推荐它. ...

  5. 用Python实现音频卷积,并制作一个简单的HRTF效果

    用Python实现音频卷积,并制作一个简单的HRTF效果 作为一个刚刚入门Python的小白用户,写出这篇文章还是废了我很大的力气,不过幸运的是,在网上到处东拼西凑,我还是把它给做出来了. 废话不多说 ...

  6. Python开发第一步:如何制作一个简单的桌面应用

    Python开发第一步:如何制作一个简单的桌面应用 前言 大家好,我是baifagg, 一个热爱Python的编程爱好者. 今天我们来学习一下, 如何用Python制作一个简单的桌面应用程序. 虽然桌 ...

  7. python通过Tkinter库实现的一个简单的文本编辑器源码

    下边资料是关于python通过Tkinter库实现的一个简单的文本编辑器的内容. from tkSimpleDialog import askstring from tkFileDialog impo ...

  8. 数字信号 fft c源码_如何制作一个简单的人体动态识别微信小程序(附源码)

    知乎小白第一次写专栏,还请多指教. 先放成果. GitHub源码: lrioxh/HAR-applet-of-Wechat​github.com b站演示视频: 居然不需要服务器?!如何制作一个简单的 ...

  9. php怎么做考勤行事例,PHP开发制作一个简单的活动日程表Calendar

    材料取之深入PHP与JQuery开发,这本书实际上就是讲述一个活动日程表. 此文章适合从其它语言(如java,C++,python等)转到php,没有系统学习php,或者是php初学者,已经对程序有较 ...

最新文章

  1. 程序员心中都有一个江湖,java世界,就是一个江湖!
  2. Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型
  3. 为什么使用 Vuetify?
  4. linux ip head check sun,linux panic 问题定位
  5. redis 内存不足 排查_Redis 系统学习之 redis 内存模型
  6. UOJ#244-[UER#7]短路【贪心】
  7. 基于弹性计算的AI推理
  8. havc是什么意思_avc是什么意?eduis里h.264/a – 手机爱问
  9. 10.RabbitMQ实战 --- 监控
  10. Sharepoint 浅谈 [转]
  11. iperf基本使用方式
  12. python源码剖析新版_Python 源码剖析之基础知识
  13. Axure share APP使用教程——如何在手机上演示axure文件
  14. 不会安装Lomboz?直接下载eclipse JEE吧。
  15. 拇指玩安装器提示“存储卡空间不足”的解决办法
  16. Godaddy美国主机推荐
  17. P2178 后缀数组 + 并查集
  18. 1.1.24 制作红头文件
  19. 从“赌场”到“大市场”——巴菲特进阶式看中国
  20. 理解OAuth 2.0 - 阮一峰的网络日志

热门文章

  1. java 普通类request_[Java教程]spring在普通类中获取session和request
  2. java session 生命周期_Java中httpsession生命周期
  3. jdbc远程连接mysql url_jdbc连接mysql之url书写
  4. 作者:李冰(1989-),女,中国电子技术标准化研究院工程师。
  5. 作者:刘建楠(1963-),男,就职于中国石油庆阳石化公司
  6. 作者:李晓明,男,北京大学教授、博士生导师。
  7. 【高等数学】一元函数积分表
  8. 【算法分析与设计】实验 动态规划算法解决找零钱问题
  9. 买到同类票的概率(洛谷P2719题题解,Java语言描述)
  10. 面试基础算法及编程 第二弹(链表相关:主要考察指针的应用)