Python格式化压缩后的JS文件的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python格式化压缩后的JS文件的方法。分享给大家供大家参考。具体分析如下:

该脚本可以把压缩后的js文件格式上进行些还原,当然不会百分百完美,暂不处理语法问题,只是为了方便阅读js代码

lines = open("unformated.js").readlines()[0].split(";")
#一般压缩后的文件所有代码都在一行里
#视情况设定索引,我的情况时第0行是源代码。
indent = 0
formatted = []
for line in lines:
  newline = []
  for char in line:
    newline.append(char)
    if char=='{': #{ 是缩进的依据
      indent+=1
      newline.append("\n")
      newline.append("\t"*indent)
    if char=="}":
      indent-=1
      newline.append("\n")
      newline.append("\t"*indent)
  formatted.append("\t"*indent+"".join(newline))
open("formated.js","w").writelines(";\n".join(formatted))

希望本文所述对大家的Python程序设计有所帮助。

相关文章

利用python解决mysql视图导入导出依赖的问题

视图 视图是一个虚拟表(非真实存在),其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集,并可以将其当作表来使用。 创建视图 创建一个名称为v1的视...

django 自定义过滤器的实现

自定义模版过滤器 虽然DTL给我们内置了许多好用的过滤器。但是有些时候还是不能满足我们的需求。因此Django给我们提供了一个接口,可以让我们自定义过滤器,实现自己的需求。 模版过滤...

对Django 中request.get和request.post的区别详解

Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,...

python基于mysql实现的简单队列以及跨进程锁实例详解

通常在我们进行多进程应用开发的过程中,不可避免的会遇到多个进程访问同一个资源(临界资源)的状况,这时候必须通过加一个全局性的锁,来实现资源的同步访问(即:同一时间里只能有一个进程访问资源...

在Python中操作字符串之rstrip()方法的使用

 rstrip()方法返回所有字符都被去除的字符串(缺省为空格字符)结束字符串的副本。 语法 以下是rstrip()方法的语法: str.rstrip([chars])...