微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

元组中的额外缩进空间

如何解决元组中的额外缩进空间

我有以下几行python(2.7)代码

audit_row_groups = [(key,list(group),) for key,group in itertools.groupby(audit_rows,lambda row: (row['date'],row['table_name'],row['user_id']))]

当yapf格式化时,我得到以下信息:

audit_row_groups = [
    (key,group in itertools.groupby(
         audit_rows,row['user_id']))]

第三行缩进5个空格而不是4个空格。最后一行缩进9个空格而不是8个空格。我的pylint检查然后抱怨说,第三行上有1个空格。

我正在使用具有以下样式的yapf 0.30.0:

[style]
align_closing_bracket_with_visual_indent=True
allow_multiline_dictionary_keys=True
allow_multiline_lambdas=True
allow_split_before_default_or_named_assigns=False
allow_split_before_dict_value=True
arithmetic_precedence_indication=False
blank_lines_around_top_level_deFinition=1
blank_line_before_class_docstring=False
blank_line_before_module_docstring=False
blank_line_before_nested_class_or_def=False
coalesce_brackets=False
column_limit=100
continuation_align_style=SPACE
continuation_indent_width=4
dedent_closing_brackets=False
disable_ending_comma_heuristic=True
each_dict_entry_on_separate_line=False
force_multiline_dict=False
i18n_comment=
i18n_function_call=
indent_blank_lines=False
indent_closing_brackets=False
indent_dictionary_value=False
indent_width=4
join_multiple_lines=True
no_spaces_around_selected_binary_operators=
spaces_around_default_or_named_assign=False
spaces_around_dict_delimiters=False
spaces_around_list_delimiters=False
spaces_around_power_operator=False
spaces_around_subscript_colon=False
spaces_around_tuple_delimiters=False
spaces_before_comment=1
space_between_ending_comma_and_closing_bracket=False
space_inside_brackets=False
split_all_comma_separated_values=False
split_all_top_level_comma_separated_values=False
split_arguments_when_comma_terminated=False
split_before_arithmetic_operator=False
split_before_bitwise_operator=False
split_before_closing_bracket=False
split_before_dict_set_generator=False
split_before_dot=False
split_before_expression_after_opening_paren=False
split_before_first_argument=False
split_before_logical_operator=True
split_before_named_assigns=False
split_complex_comprehension=True
split_penalty_after_opening_bracket=300
split_penalty_after_unary_operator=10000
split_penalty_arithmetic_operator=300
split_penalty_before_if_expr=0
split_penalty_bitwise_operator=300
split_penalty_comprehension=80
split_penalty_excess_character=7000
split_penalty_for_added_line_split=9000
split_penalty_import_names=0
split_penalty_logical_operator=300
use_tabs=False

我已经尝试将space_between_ending_comma_and_closing_bracket更改为False / True。如果我在第2行中删除元组中的尾部逗号,则它可以按预期方式工作,但这与在元组中使用尾部逗号的建议背道而驰。

有什么主意我可以如何改进此设置以删除此多余空间?

谢谢, 授予

解决方法

我今天刚遇到完全相同的问题并且能够解决它。配置文件中的第一个参数是造成这个额外空格的原因:D

您需要:

[style]
align_closing_bracket_with_visual_indent=False

然后你会得到预期的结果:

audit_row_groups = [
    (key,list(group),) for key,group in itertools.groupby(
        audit_rows,lambda row: (row['date'],row['table_name'],row['user_id']))]

即使你的问题很久以前,我也只是想简单回答一下。也许其他人会遇到这个问题:)

最好的问候, 菲利普

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。