Очень похоже на объединение входов и выходов без общих подстановочных знаков: я собрал заданный пользователем список входов и выходов, которые объединены в пару:
Код: Выделить всё
inputs = ["/path/to/input1", "/path/to/input2"]
outputs = ["/path/to/output1", "/path/to/output2"]
Другими словами, у меня есть правило, которое должно обрабатывать ввод1 и генерировать вывод1, и параллельно это же правило может также обрабатывать ввод2 и генерировать вывод2. Я могу попробовать рекомендуемый ответ из связанного вопроса, который выглядит следующим образом, за исключением того, что я использовал абсолютные пути и удалил суффикс «.txt» из правил:
Код: Выделить всё
numbers = ['/tmp/1.txt', '/tmp/2.txt', '/tmp/3.txt', '/tmp/4.txt']
letters = ['/tmp/A.txt', '/tmp/B.txt', '/tmp/C.txt', '/tmp/D.txt']
ln = dict(zip(numbers, letters))
rule all:
input:
expand('{number}', number= numbers),
rule out:
input:
letter= lambda wc: ln[wc.number],
output:
'{number}'
shell:
"""
echo {input.letter} > {output}
"""
Я пытался коснуться входных данных /tmp/A.txt и т. д., однако, как бы я ни пытался это организовать, я получаю либо ключевые исключения, либо отсутствующие входные исключения . Однако, если я использую относительные пути вместо абсолютных, я могу заставить его работать. Есть ли способ заставить его работать, используя все абсолютные пути?
Подробнее здесь:
https://stackoverflow.com/questions/791 ... lute-paths