【发布时间】:2016-10-28 00:30:33
【问题描述】:
我想将 CSS 文件的内容拆分为代码块,并使用 Python 3.5 将每个代码块推送到列表中。
所以,鉴于这个 CSS:
h1 {color: #333, background-color: transparent}
h2 {
font-weight:300
}
h3
{
font-weight: 200
}
我们可以清楚地看出它有多种样式和/或缩进类型,这意味着必须整理 CSS 才能获得:
h1 {
color: #333,background-color: transparent;
}
h2 {
font-weight: 300;
}
h3 {
font-weight: 200;
}
如何使用 Python 读取整理好的 CSS 字符串并将其中的每个代码块推送到 Python 列表中,如下所示:
styles = [
"h1 {\n color: #333,background-color: transparent;\n}",
"h2 {\n font-weight: 300;\n}",
"h3 {\n font-weight: 200;\n}"
]
我还想指出,RegExp 并不是我真正的强项,我不太确定要使用什么 RegEx,但我想我可以同时使用 RegExp 和 [].split(...); 来实现这一点。
甚至可能使用 RegExp 来消除在拆分其中的代码块之前整理样式表的需要。
注意:我已经检查了这个this 问题,但不幸的是,这也没有帮助。
【问题讨论】:
-
@pvg 不,很遗憾,这并没有解决我的问题。
-
@Mango 不需要自己实现解析器,可以用一个小库。我在下面的回答中对此进行了概述。
-
@Mango 确实如此,你想解决问题的方式类似于这个臭名昭著的 SO 答案*.com/a/1732454/5087125 不要这样做,使用解析器,有一些高效的小工具可以做到这一点简单而恰当。
标签: python css regex list python-3.x