如何让snakefmt跳过Snakefile中的指定行?
让snakefmt忽略Snakefile特定行的解决方法
你的报错是因为把# fmt: skip直接跟在Jinja模板标签后,导致snakefmt依赖的black无法解析这行的语法结构。可以通过以下两种方式解决:
忽略整块内容:在需要跳过的Jinja控制块前后分别添加
# fmt: skip和# fmt: on注释,让snakefmt跳过中间所有内容:# fmt: skip {% if cookiecutter.include_r %} # 此处为不需要格式化的代码内容 {% endif %} # fmt: on忽略单行内容:将
# fmt: skip用空格分隔后放在Jinja标签的末尾,保证语法合法:{% if cookiecutter.include_r %} # fmt: skip
原因说明:snakefmt基于black实现格式化,而black对语法格式有严格要求,Jinja标签与注释必须正确分隔,否则会被判定为无效Python语法抛出错误。
内容的提问来源于stack exchange,提问作者sjdh
相关产品推荐
相关产品推荐

