构造文本、html和xml的强大方法,外加一个简单的连接
quoter的Python项目详细描述
用法
from quoter import * print single('this') # 'this' print double('that') # "that" print backticks('ls -l') # `ls -l` print braces('curlycue') # {curlycue} print braces('curlysue', padding=1) # { curlysue }
很可爱…但是太简单了,没用,对吧?继续读
让我们尝试一些更复杂的东西,输出必须是 基于上下文的智能化。下面是引用一些html 内容:
print html.p("A para", ".focus") print html.img('.large', src='file.jpg') print html.br() print html.comment("content ends here")
产量:
<p class='focus'>A para</p> <img class='large' src='file.jpg'> <br> <!-- content ends here -->
这远远超出了“简单地用其他文本包装某些文本”的范围。 输出格式变化很大,正确解释了基于css选择器的 控件,在需要时使用void/self-closing元素,并使用 特殊标记,如需要时的注释格式。HTML引用程序 它的同伴XML Quoter在能力和简单性方面与 定制标记生成包
(新加入了一个类似的降价生成器,尽管它是 “演示”而不是“用于生产代码”阶段。)
最后,quoter提供了一个简单、功能强大的drop dead, join函数:
mylist = list("ABCD") print join(mylist) print join(mylist, sep=" | ", endcaps=braces) print join(mylist, sep=" | ", endcaps=braces.but(padding=1)) print and_join(mylist) print and_join(mylist[:2]) print and_join(mylist[:3]) print and_join(mylist, quoter=double, lastsep=" and ")
产量:
A, B, C, D {A | B | C | D} { A | B | C | D } A and B A, B, and C A, B, C, and D "A", "B", "C" and "D"
它显示了一系列的分隔符,分隔样式(牛津和 非牛津逗号)、收头、填充和单个项目报价。我敢说 您将找不到更灵活或可配置的^ TT2}$函数。 anywhereelse,任何编程语言,任何价格。
如果您喜欢任何特定的格式,请自行设置:
>>> my_join = join.but(sep=" | ", endcaps=braces.but(padding=1)) >>> print my_join(mylist) { A | B | C | D }
现在您有了一个方便的专用格式化程序来满足您自己的规范。