我是Jinja2的新手,并且使用python正则表达式(re)时遇到问题.在下面的代码中,我想加粗包含错误字符串的行.
{% block content %}
<div class="container">
{% for l in lines %}
{% if re.search(r"Error", l) %} {# <<< Throws error #}
<b> {{ l }} </b>
{% else %}
{{ l }} <hr>
{% endif %}
{% endfor %}
</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
上面的re.search引发了以下错误:
jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: expected token ',', got 'string'
Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以将命令行参数传递给Airflow BashOperator。目前,我有一个python脚本,它接受date参数并执行一些特定的活动,例如清除早于给定日期的特定文件夹。
在仅执行一项任务的简化代码中,我想做的是
from __future__ import print_function
from airflow.operators import BashOperator
from airflow.models import DAG
from datetime import datetime, timedelta
default_args = {
'owner' : 'airflow'
,'depends_on_past' : False
,'start_date' : datetime(2017, 01, 18)
,'email' : ['abc@xyz.com']
,'retries' : 1
,'retry_delay' : timedelta(minutes=5)
}
dag = DAG(
dag_id='data_dir_cleanup'
,default_args=default_args
,schedule_interval='0 13 * * *'
,dagrun_timeout=timedelta(minutes=10)
)
cleanup_task = BashOperator(
task_id='task_1_data_file_cleanup'
,bash_command='python cleanup.py --date $DATE 2>&1 >> /tmp/airflow/data_dir_cleanup.log'
#--------------------------------------^^^^^^-- (DATE variable which would have been given on command line)
#,env=env
,dag=dag …Run Code Online (Sandbox Code Playgroud)