如何在Python中自动格式化单个pep8样式以关闭定界符和换行符?

问题描述

PEP8著名地允许对分隔符和换行符进行多种处理,例如列表元素,函数参数和理解。例如,所有这些都是有效的:

def fun(my_arg1,my_arg2,my_arg3,my_arg4):

def fun(my_arg1,my_arg4):

def fun(
    my_arg1,my_arg4
):

我正在一个非常嘈杂的代码库中工作,并且很难让这3个对象共存,我想通过Flake8之类的自动整理工具强制执行其中的一个-并进一步提供类似的工具autopep8可以自动错误的选项转换为正确的选项。 (在此回购协议中,只希望允许上面的最后一个示例,并在前两个示例中的任何一个上产生linter错误。)

任何现有的Python整理工具都可以实现吗?到目前为止,我已经排除了pycodestyle / pep8 / Flake8 / autopep8-据我所知,它们不具备此功能

不幸的是,由于不可配置性和强制实施的default style opinionsblack库还是无法使用,例如一个black示例

# in:

ImportantClass.important_method(exc,limit,lookup_lines,capture_locals,extra_argument)

# out:

ImportantClass.important_method(
    exc,extra_argument
)

,并且根据我正在处理的项目的格式设置规则,应禁止最后一行的输出(如果arg需要换行,则每个arg必须始终放在自己的行上-垂直分隔比减少行数)。

任何其他预先存在的工具都可以直接实现吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)