我对开发自我记录管道感兴趣。在
Pweave and Ruffus
==============================================================
**Let's see if Pweave and ruffus can play nice**
<<load_imports>>=
import time
from ruffus import *
@
**Do this**
<<task1>>=
task1_param = [
[ None, 'job1.stage1'], # 1st job
[ None, 'job2.stage1'], # 2nd job
]
@files(task1_param)
def first_task(no_input_file, output_file):
open(output_file, "w")
@
我感觉到鲁弗斯的装饰师们正在扔掉窗户:
^{pr2}$也许有一个解决办法?在
我是Ruffus的作者,刚刚签入Ruffus的更改,以允许它与pweave合作进入google源代码库。我将在下一个版本中。在
如果您不耐烦,可以使用以下命令行获取最新(固定)源代码:
利奥
具体情况如下:
Ruffus使用每个Ruffus task函数的完整限定名(带模块名)来唯一标识代码,以便可以通过名称引用管道任务。在
Pweave代码非常简单。不错!Pweave一次将代码块发送给python解释程序,以逐块进行
exec
-ed。当然,块不属于任何“模块”,任务函数的function.__module__
值为None
,而不是任何字符串。在一个明智的}似乎就解决了这个问题。在
str()
将None
转换成{利奥
记录在案,pweave与装饰师合作得很好。在
这与ruffus在使用
function.__module__
属性时如何识别该函数实际上必须属于模块文件的函数有关。我不确定我不能创建所有的标识符到函数中。在如果编辑pweave附带的
pweb.py
脚本,使pweave()
函数中的try:...except
:语句更加冗长(最简单的方法是注释掉try
和except
部分)。你犯的错误是最深的恶作剧。在我建议不要使用像ruffus这样的复杂库来进行教学,因为ruffus特别使用了一些黑客(语法糖,如果你愿意的话)来提供一个简单的用户界面。如果你执意要用它来达到这个目的,你可以试着联系一下对我的功能要求反应很快的作者。他可能对如何做这件事有些想法。在
相关问题 更多 >
编程相关推荐