- 已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
5年前关闭。
Improve this question
我一直在尝试用Python进行文学编程的各种方法,我喜欢noweb
,但它有两个主要问题:首先,在Windows上构建很难,我在Windows上花费了大约一半的开发时间;第二,它要求我缩进每一段代码,就像它在最终的程序中一样---这在我写的时候不一定知道,我不想用Leo,因为我非常喜欢Emacs。
是否有一个好的编程工具可以:
1.在Windows上运行
1.允许我在使用块时设置块的缩进,而不是在写入块时
1.仍然允许我使用Emacs
谢谢!
更正:noweb
* 不 * 允许我稍后缩进---我误读了我在上面找到的纸张。
默认情况下,notangle
在扩展块时保留空白并保留缩进,因此可以用于类似Miranda和Haskell这样的语言,在这些语言中缩进很重要
这就只剩下"在Windows上运行"的问题了。
7条答案
按热度按时间xuo3flqw1#
我写了Pweave http://mpastell.com/pweave,它是针对动态报表生成的,使用noweb语法。它是一个纯python脚本,所以它也可以在Windows上运行。它不能解决缩进问题,但也许你可以修改它,代码真的很简单。
hjzp0vay2#
社区中事实上的标准是IPython笔记本电脑。
Peter Norvig演示解决旅行商问题的算法的优秀示例:https://nbviewer.org/url/norvig.com/ipython/TSP.ipynb
https://github.com/jupyter/jupyter/wiki列出了更多示例
lvmkulzt3#
我是这么做的
http://sourceforge.net/projects/pywebtool/
您可以获得任意数量的web/weave产品,它们将帮助您一次性构建文档和代码。
您可以--相当容易地--编写自己的指令。从RST源文件中提取Python代码块并进行汇编并不是什么高深的科学。实际上,我建议您编写自己的Docutils指令,以便从RST源文件中汇编Python代码。
通过docutils rst2html(或Sphinx)运行RST以生成最终的HTML报告。
您可以在同一个RST源代码上运行自己的实用程序来提取Python代码块并生成最终的模块。
3wabscal4#
你可以使用org-mode和babel-tangle。
这样做效果很好,因为您可以将:noweb-ref赋给源代码块。
下面是一个简单的例子:激活org-babel-tangle,然后将其放入文件
noweb-test.org
中:你也可以使用headlines的属性来给出noweb-ref,它甚至可以自动地将几个源代码块连接成一个noweb-ref。
将
:results output
添加到第二个块的#+begin_src
行,以查看在块中单击C-c C-c
时该块下的打印结果。uurity8g5#
你可能会发现noweb 3更容易在Windows上构建,它的设计目的是比标准的noweb更便携。
r7knjye26#
发现此工具很有用:https://github.com/bslatkin/pyliterate
nue99wik7#
另请参阅我的最新LP工具:https://code.google.com/archive/p/nano-lp/。它不需要特殊的输入格式,支持Markdown/MultiMarkdown,reStructuredText,OpenOffice/LibreOffice,克里奥尔语,TeX/LaTeX,并具有超轻和干净的语法-不再有神秘的识字程序。