9

我想实现一个脚本来读取 CSS 文件并对它进行有意义的更改(添加/删除/替换行/单词等)。基本逻辑是实现 RTL(从右到左)转换。

我可以想到很多方法:

  • 文件阅读器 - 读取一行,分析它并对其进行必要的更改。
  • 两阶段扫描 - 在内存模型中创建,扫描并更改它,将模型保存为文本。
  • 正则表达式 - 这可能非常困难,因为其中一些可能非常复杂。

基本上我想知道的是,这些或其他方法中的哪一个是python的方法?对于这种操作,您认为我应该熟悉任何相关的库吗?

编辑:应该注意的是,这是一个“通过这个可用项目学习 python”的项目,所以我不熟悉你在这里提到的大多数库。

4

1 回答 1

18

如果你想要一些“快速而肮脏”的东西,有很多有趣的方法可以做到这一点。(正如你所说:逐行,正则表达式,......)

但是,如果您想“正确”地进行操作(对所有类型的输入都正确),您将需要一个基于官方CSS 标记化和语法的真正解析器。在 Python 中有cssutilstinycss。(免责声明:我是 tinycss 的作者。)如果你想学习,我喜欢认为tinycss 的源代码简单易学 :)

于 2012-07-27T10:18:25.220 回答