Python脚本实现格式化css文件


Posted in Python onApril 08, 2015

最近研究研究了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  待转换的文件名 > 转换后保存的文件

Python 相关文章推荐
python实现在sqlite动态创建表的方法
May 08 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
Jul 27 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
python 3.5下xadmin的使用及修复源码bug
May 10 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
python实现简单flappy bird
Dec 24 Python
深入理解Django-Signals信号量
Feb 19 Python
解决python 文本过滤和清理问题
Aug 28 Python
通过python检测字符串的字母
Feb 18 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
python通过cython加密代码
Dec 11 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
Jun 11 Python
Python实现获取操作系统版本信息方法
Apr 08 #Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Apr 08 #Python
python模块之StringIO使用示例
Apr 08 #Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 #Python
Python实现的简单文件传输服务器和客户端
Apr 08 #Python
操作Windows注册表的简单的Python程序制作教程
Apr 07 #Python
编写简单的Python程序来判断文本的语种
Apr 07 #Python
You might like
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
jQuery实现给页面换肤的方法
2015/05/30 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
Python常用模块用法分析
2014/09/08 Python
python中zip()方法应用实例分析
2016/04/16 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
python实现日常记账本小程序
2018/03/10 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
Python reversed函数及使用方法解析
2020/03/17 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
授权委托书怎么写
2014/04/03 职场文书
读书月活动方案
2014/05/22 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
计划生育目标责任书
2015/05/09 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang