Python脚本实现格式化css文件

yipeiwu_com6年前Python基础

最近研究研究了css,少不了去网上分析一下别人的网页, 但很多网站的css文件都是要么写在一行,要么一个换行都没有,看起来极其痛苦,所以写一个脚本转换一下,转换为比较有可读性的格式。下面就是这个脚本:

import string, sys
import re, StringIO

TAB=4


def format(ss):
  f = open (ss, "r")
  data = f.read()
  f.close()
  
  dlen = len(data)
  i = 0
  buf = StringIO.StringIO()
  start = 0
  while i < dlen:
    if data[i] == '{':
      
      buf.write(data[start:i] + ' { ')
      i = i + 1
      start = i
    elif data[i] == '}':
      last = string.strip(data[start:i])
      if last:
        buf.write(' '*TAB + last + ';')
      buf.write(' } ')
      i = i + 1
      start = i
      
    elif data[i] == ';':
      line = string.strip(data[start:i])
      
      buf.write(' '*TAB + line + '; ')
      i = i + 1
      start = i
    
    else:
      i = i + 1
  buf.write(data[start:i+1])
  
  return buf.getvalue()
  
  
if __name__ == '__main__':
  if len(sys.argv) == 1:
    print 'usage: cssformat.py filename'
    sys.exit()
  
  ret = format(sys.argv[1])
  print ret

使用方法:

python cssformat.py  待转换的文件名 > 转换后保存的文件

相关文章

Django添加KindEditor富文本编辑器的使用

KindEditor简介: KindEditor是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用KindEditor 把传统的多行文本输入框...

详解Python3除法之真除法、截断除法和下取整对比

概述 在Python3中,数学运算中的除法被分为两种,分别是“真除法”,即无论任何类型相除的结果都会保留小数点,和我们实际的数学运算结果一致,而“截断除法”,则是无论任何类型相除的结果...

使用python在本地电脑上快速处理数据

大数据一般是在“云”上玩的,但“云”都是要钱的,而且数据上上下下的也比较麻烦。所以,在本地电脑上快速处理数据的技能还是要的。 pandas 在比赛中学到的一个工具,本地可以在亿级别的数据...

pandas 小数位数 精度的处理方法

控制台打印时显示的2位小数: pd.set_option('precision', 2) 实际修改数据精度: 官例:http://pandas.pydata.org/pandas-...

python实现手机销售管理系统

python实现手机销售管理系统

本文实例为大家分享了python实现手机销售管理系统的具体代码,供大家参考,具体内容如下 要求如下: 手机销售系统     手机品牌 ...