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基础教程之基本内置数据类型介绍
Feb 20 Python
python处理文本文件实现生成指定格式文件的方法
Jul 31 Python
在 Python 应用中使用 MongoDB的方法
Jan 05 Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 Python
pytorch 数据集图片显示方法
Jul 26 Python
python3 爬取图片的实例代码
Nov 06 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
Oct 24 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 Python
Django之富文本(获取内容,设置内容方式)
May 21 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
Aug 04 Python
解决hive中导入text文件遇到的坑
Apr 07 Python
pytorch损失反向传播后梯度为none的问题
May 12 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
PHP Google的translate API代码
2008/12/10 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
对联广告js flash激活
2006/10/19 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
python中随机函数random用法实例
2015/04/30 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
python操作gitlab API过程解析
2019/12/27 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
Python如何实现机器人聊天
2020/09/10 Python
剪彩仪式主持词
2014/03/19 职场文书
授权委托书格式
2014/07/31 职场文书
先进典型发言材料
2014/12/30 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
zabbix agent2 监控oracle数据库的方法
2021/05/13 Oracle