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使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python实现CET查分的方法
Mar 10 Python
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
python实现复制整个目录的方法
May 12 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
python实现Floyd算法
Jan 03 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
Python 元组操作总结
Sep 18 Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 Python
Python爬虫爬取电影票房数据及图表展示操作示例
Mar 27 Python
python openpyxl模块的使用详解
Feb 25 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生成xml简单实例代码
2009/12/16 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
WWE美国职业摔角官方商店:WWE Shop
2018/11/15 全球购物
判断单链表中是否存在环
2012/07/16 面试题
艺术设计专业个人求职信
2013/09/21 职场文书
新年晚会主持词
2014/03/24 职场文书
健康状况证明模板
2014/10/23 职场文书
嘉宾邀请函
2015/01/31 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
基于Golang 高并发问题的解决方案
2021/05/08 Golang