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中的异常处理学习笔记
Jan 28 Python
利用python获取某年中每个月的第一天和最后一天
Dec 15 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
python打包成so文件过程解析
Sep 28 Python
python3.8 微信发送服务器监控报警消息代码实现
Nov 05 Python
Python基础之高级变量类型实例详解
Jan 03 Python
对Python 字典元素进行删除的方法
Jul 31 Python
python实现计算器简易版
Dec 17 Python
利用python绘制正态分布曲线
Jan 04 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
Python实战之实现康威生命游戏
Apr 26 Python
Python绘制地图神器folium的新人入门指南
May 23 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中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
基于empty函数的判断详解
2013/06/17 PHP
详解js异步文件加载器
2016/01/24 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
轻松实现php文件上传功能
2017/02/17 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
基于原生JS实现图片裁剪
2016/08/01 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
python 用户交互输入input的4种用法详解
2019/09/24 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
英国足球店:UK Soccer Shop
2017/11/19 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
单位在职证明范本
2014/01/09 职场文书
《王二小》教学反思
2014/02/27 职场文书
电子专业自荐信
2014/07/01 职场文书
迎七一演讲稿
2014/09/12 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
安全生产奖惩制度
2015/08/06 职场文书
使用python创建股票的时间序列可视化分析
2022/03/03 Python