python解析css文件_python如何将css文件解析为键值

I have a css like a:

body, html { aaa: aaa }

h1, h2 { bbb: bbb; }

h3, h4, h5 { ccc: ccc; }

and i want to parse this string and get an ordered dict / or something like:

{

'body, html': 'aaa: aaa',

'h1, h2': 'bbb: bbb;',

'h3, h4, h5': 'ccc: ccc;'

}

I want to know all selectors and their properties

anybody knows any python library for accomplish this?

thanks!

解决方案

I would suggest to use the cssutils module.

import cssutils

from pprint import pprint

css = u'''

body, html { color: blue }

h1, h2 { font-size: 1.5em; color: red}

h3, h4, h5 { font-size: small; }

'''

dct = {}

sheet = cssutils.parseString(css)

for rule in sheet:

selector = rule.selectorText

styles = rule.style.cssText

dct[selector] = styles

pprint(dct)

Output:

{u'body, html': u'color: blue',

u'h1, h2': u'font-size: 1.5em;\ncolor: red',

u'h3, h4, h5': u'font-size: small'}

In your question you asked for a key/value representation. But if you do want to access the individial selectors or proprties, use rule.selectorList and iterate over its properties for rule.style:

for property in rule.style:

name = property.name

value = property.value

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值