【发布时间】:2015-08-02 03:20:33
【问题描述】:
我想以我自己的格式将 SQL 保存到 YAML 文件,如下所示:
(1)
sql: SELECT DISTINCT p.id_product,
p.price AS price,
sp.reduction AS discount
FROM ....
我使用以下 YAML 设置
yaml.safe_dump(app_config,
stream,
indent=4,
default_flow_style=False,
encoding='utf-8',
allow_unicode=True)
但是我得到了 YAML 的“经典”丑陋输出
(2)
sql: SELECT DISTINCT p.id_product, p.price AS price, sp.reduction AS discount, sp.reduction_type
AS discount_type, pl.description_short AS description FROM ....
有没有办法实现输出#1?
附言。 repr(config) 等于:
{'mapping': {'/*ID_LANG*/': 'AND pl.id_lang IN (/*VALUE*/)', '/*REFERENCE*/': "AND p.reference LIKE '%/*VALUE*/%'", }, 'sql': 'SELECT DISTINCT p.id_product, p.price AS price, sp.reduction AS discount, sp.reduction_type AS discount_type, pl.description_short AS description, pl.name AS name, i.id_image as image, p.reference AS model, m.name AS manufacturer, pl.available_now AS stock_status FROM /*PREFIX*/product p LEFT JOIN /*PREFIX*/product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN /*PREFIX*/manufacturer m ON (m.id_manufacturer = p.id_manufacturer) LEFT JOIN /*PREFIX*/image i ON (i.id_product = p.id_product) LEFT JOIN /*PREFIX*/specific_price sp ON (sp.id_product = p.id_product) LEFT JOIN /*PREFIX*/category pc ON p.id_category_default = pc.id_category WHERE i.cover = 1 /*WHERE*/'}
【问题讨论】:
-
我们可以假设 {1) 和 (2) 不是 YAML 输出的一部分吗?能否包含 repr(app_config) 的输出?
-
{1} 和 {2} 是真正的 YAML 输出。
-
我应该引用那个。字符串“(1)”分别。代码标记块中的“(2)”(在“sql”上方)不属于 YAML 块。我试图把它放在块之外,但是你会得到很多空白。