python表示代码块使用什么_python – 如何将代码块分成列表?

这个实现是使用tinycss完成的,这是一个简单的纯python

css parser.

这适用于不整洁的CSS.只要是合法的.

import tinycss

from collections import defaultdict

parser = tinycss.make_parser('page3')

# use parse_stylesheet_files to read from a file.

stylesheet = parser.parse_stylesheet("""h1 {color: #333; background-color: transparent}

h2 {

font-weight:300

}

h3

{

font-weight: 200

}

h1{

padding: 0px;}

""")

# Initialize to empty list if key does not exists

# This allows to group multiple blocks with same selectors

temp = defaultdict(list)

for rule in stylesheet.rules:

for dec in rule.declarations:

temp[rule.selector.as_css()].append((dec.name, dec.value.as_css()))

print(temp)

输出:

defaultdict(,

{'h1': [('color', '#333'),

('background-color', 'transparent'),

('padding', '0px')],

'h2': [('font-weight', '300')],

'h3': [('font-weight', '200')]})

看看不同的h1块如何被分成一个列表.我并不是非常清楚CSS的复杂性,但是很容易防止这种情况发生.

与使用正则表达式的解决方案不同,它更灵活,因为它涵盖了所有边缘情况,适用于选择器,CSS2和CSS3.

请注意:我已将所有内容都推送到字典中,但您也可以轻松地将其作为列表推送.让我知道你是否想要一些纯粹的列表,但如果你理解我在做什么,它应该是相对微不足道的.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值