2024-04-18 13:08:14 发布
网友
在python2.7中我有一个ruffus管道,但是当我用-n或--just_print调用它时,它仍然运行所有实际的任务,而不是像应该的那样打印管道。一: *不要用-n参数取代内置参数(尽管我有其他命令行参数) *有一堆带有@transform()或@merge()修饰符的函数 *用run_pipeline()调用结束管道
-n
--just_print
@transform()
@merge()
run_pipeline()
还有其他人遇到过这个问题吗?非常感谢!你知道吗
从ruffus版本2.4开始,您可以使用内置的^{},它通过使用argparse的cmdline.py模块存储适当的标志,例如:
argparse
cmdline.py
from ruffus import * parser = cmdline.get_argparse(description='Example pipeline') options = parser.parse_args() @originate("test_out.txt") def run_testFunction(output): with open(output,"w") as f: f.write("it's working!\n") cmdline.run(options)
然后使用如下命令从终端运行管道:
python script.py verbose 6 target_tasks run_testFunction just_print
如果您想手动执行此操作(这对于较旧版本的ruffus是必需的),则可以调用^{}而不是^{},使用argparse,以便 just_print标志引导相应的调用,例如:
just_print
from ruffus import * import argparse import sys parser = argparse.ArgumentParser(description='Example pipeline') parser.add_argument(' just_print', dest='feature', action='store_true') parser.set_defaults(feature=False) args = parser.parse_args() @originate("test_out.txt") def run_testFunction(output): with open(output,"w") as f: f.write("it's working!\n") if args.feature: pipeline_printout(sys.stdout, run_testFunction, verbose = 6) else: pipeline_run(run_testFunction, verbose = 6)
然后您可以像这样运行命令:
python script.py just_print
从ruffus版本2.4开始,您可以使用内置的^{} ,它通过使用
argparse
的cmdline.py
模块存储适当的标志,例如:然后使用如下命令从终端运行管道:
如果您想手动执行此操作(这对于较旧版本的ruffus是必需的),则可以调用^{} 而不是^{} ,使用
argparse
,以便just_print
标志引导相应的调用,例如:然后您可以像这样运行命令:
相关问题 更多 >
编程相关推荐