我喜欢Literate CoffeeScript的想法,想看看我是否能用Python做些什么。我试图完成类似于这个简单的Literate Ruby的事情,结果得到了以下结果。该程序采用标准输入、文件或文件列表中的有文字能力的Python,并仅执行代码。在
import fileinput
import re
code = ''
for line in fileinput.input():
match = re.match(r'([ ]{4}|\t)(.*)', line)
if match:
code += match.group(2) + '\n'
exec code
一个简单易读的Python文件。在
^{pr2}$我是Python新手,想知道我是否遗漏了什么,或者是否有更好的解决方案。在
正如我在一篇评论中所说,}是邪恶的,一个更好的选择是使用code模块,如下例所示。另外,您可能更喜欢编译regex,以便只在每次迭代时对输入执行匹配,而不是在每次迭代时构建自动机。在
eval
或{虽然该示例将输出
sys.stdout
上的结果,但您可能需要使用重载类,例如this example中的类。在将python和类似markdown的语法结合起来最好是使用工具而不是更改语言。例如:
相关问题 更多 >
编程相关推荐