Можно ли заставить yapf игнорировать части файла?

Я использую Python-DSL под названием snakemake, который выглядит следующим образом:

from bx.intervals.cluster import ClusterTree

from epipp.config import system_prefix, include_prefix, config, expression_matrix
config["name"] = "correlate_chip_regions_and_rna_seq"

bin_sizes = {"H3K4me3": 1000, "PolII": 200, "H3K27me3": 200}

rule all:
    input:
        expand("data/{bin_size}_{modification}.bed", zip,
               bin_size=bin_sizes.values(), modification=bin_sizes.keys())

rule get_gene_expression:
    input:
        expression_matrix
    output:
        "data/expression/series.csv"
    run:
        expression_matrix = pd.read_table(input[0])
        expression_series = expression_matrix.sum(1).sort_values(ascending=False)
        expression_series.to_csv(output[0], sep=" ")

Я хотел бы запустить YAPF на вещи в run: блоки.

Можно ли заставить yapf игнорировать вещи, которых нет в python, например rule ключевые слова и так далее, и использовать его только в определенных частях файла?

1 ответ

Да, это возможно, используя # yapf: disableа также # yapf: enableдирективы комментариев.

Пример из ридми :

      # yapf: disable
FOO = {
    # ... some very large, complex data literal.
}

BAR = [
    # ... another large data literal.
]
# yapf: enable

Вы также можете отключить форматирование для одного литерала следующим образом:

      BAZ = {
    (1, 2, 3, 4),
    (5, 6, 7, 8),
    (9, 10, 11, 12),
}  # yapf: disable
Другие вопросы по тегам