python - Airflow :在位移运算符之前跳过行

标签 python airflow

在 DAG 中设置任务依赖时,是否可以在 bitfshift 运算符之间换行?

我的 DAG 有 10 个任务,它们都必须按顺序执行,没有并行化。

我想在我的代码中垂直链接它们,如下所示:

   task_1 \
>> task_2 \
>> task_3 \
>> task_n \

而不是水平的:

task_1 >> task_2 >> task_3 >> task_n

我尝试了 \ 字符,但没有成功。

谢谢

最佳答案

(据我所知)有两种方法可以在 Python 中执行此操作。 第一个是您已经尝试过的反斜杠,第二个是括号。 在您的情况下,它看起来像这样:

foo = (task_1 >> task_2 >> task_3 >> task_n)

PEP8 on maximum line length says:

The preferred way of wrapping long lines is by using Python's implied line continuation inside parentheses, brackets and braces. Long lines can be broken over multiple lines by wrapping expressions in parentheses. These should be used in preference to using a backslash for line continuation.

当换行时,请记住您的二元运算符(在本例中为>>)总是出现在语句前面的新行上。这使它更具可读性,例如

foo = variable1 +
      variableThatIsVeryLong -
      var *
      varAverage

对比

foo = variable1
      + variableThatIsVeryLong
      - var
      * varAverage

这样一来,读者就可以立即清楚正在使用的运算符。

反斜杠不起作用的一个可能原因可能是它后面有一个空格。

关于python - Airflow :在位移运算符之前跳过行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61786124/

相关文章:

airflow - 如何指向 Airflow unittest.cfg?

python - 如何通过 python click.version_option 装饰器的 Travis CI 测试?

python - 基于分组创建pandas列

python - 配置 SnakeBite HDFS 客户端以使用高可用性模式

Airflow sla_miss_callback 函数未触发

scheduler - 连续运行暂停 DAG 的 Airflow 调度程序

python - python del函数中的"backtracking"变量

python - 为 python 脚本创建别名

python - 在 python 上使用希伯来语

python - Airflow 提供静态 html 目录