我想用Ruffus包为Python创建一个管道,我正在努力解决它最简单的概念。两个任务应该一个接一个地执行。第二个任务取决于第一个任务的输出。在Ruffus文档中,一切都是为从外部文件导入/导出而设计的。我想处理像字典这样的内部数据类型。你知道吗
问题是@follows不接受输入,@transform不接受dict。我错过什么了吗?你知道吗
def task1():
# generate dict
properties = {'status': 'original'}
return properties
@follows(task1)
def task2(properties):
# update dict
properties['status'] = 'updated'
return properties
最终,管道应该在一个类中组合一组函数,这些函数可以随时更新类对象。你知道吗
只有在有输入/输出文件时才应该使用Ruffus decorators。例如,如果
task1
生成file1.txt
,而这是task2
的输入,它生成file2.txt
,则可以按如下方式编写管道:如果只想将字典作为输入,则不需要Ruffus,只需对代码进行适当排序(因为它将按顺序运行)或在
task2
中调用task1
:相关问题 更多 >
编程相关推荐