5

我有一个用例,其中规则生成任意数量的“检查点”文件和单个输出文件。例如,“example.input”会产生:

  • example_000.checkpoint
  • example_001.checkpoint
  • ...
  • example_093.checkpoint(此处为任意数字)
  • example.output(保证非动态输出)

检查点旨在用于从计算中的该点重新开始,但我对它们还有其他用途。但是,我只需要第一个(例如 example_000.checkpoint)和最后一个(例如 example_093.checkpoint)。如何构建一个规则,使我的输出定义为:

    rule example:
        input:
            {id}.input
        output:
            non_dynamic = {id}.output
            first = {id}_{first}.checkpoint
            last = {id}_{last}.checkpoint
            # OR
            checkpoints = dynamic({id}_{checkpoint}.checkpoint)

如果我定义了新的通配符,我会收到错误“并非所有规则示例的输出文件都包含相同的通配符”。如果我尝试使用动态输出,则会收到错误消息“具有动态输出的规则可能未定义任何非动态输出文件。”

提前感谢您的帮助!

4

0 回答 0