Python格式化css文件的方法

yipeiwu_com5年前Python基础

本文实例讲述了Python格式化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程序设计有所帮助。

相关文章

Python Numpy 实现交换两行和两列的方法

numpy应该是一个和常用的包了,但是在百度查了很久,也没有查到如何交换两列(交换两行的有),所以查看了其他的文档,找到了方法。 交换两行 比如a = np.array([[1,2,3]...

python中合并两个文本文件并按照姓名首字母排序的例子

前段时间前在网上看到一段面试题,要求如下: employee文件中记录了工号和姓名复制代码 代码如下:    cat employee.txt: ...

python scipy求解非线性方程的方法(fsolve/root)

python scipy求解非线性方程的方法(fsolve/root)

使用scipy.optimize模块的root和fsolve函数进行数值求解线性及非线性方程,下面直接贴上代码,代码很简单 from scipy.integrate import o...

numpy.linspace 生成等差数组的方法

numpy.linspace 生成等差数组的方法

如下所示: numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) start:...

Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

本文实例讲述了Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)。分享给大家供大家参考,具体如下: demo.py(类方法,@classm...