首页 > 解决方案 > 如何使用 yapf 将参数全部放在一行中?

问题描述

我正在尝试配置 yapf 以使参数等都在同一行,但我不确定如何获得这种效果,到目前为止,我所看到的只是同一行上的函数参数,但它不适用于一切。

这就是我所拥有的,例如:

    def __enter__(self,
                  myfunc=123,
                  func2=LA.DS
        ):

        self.a_d = hash(
            '{}{}'.format(
                self.123, self.name
            )
        )
        self.pub_id = myfunc(
                                    str(self.id23).\
                                    encode('utf8')).\
            dosmth()

        self.acquired = self._acquire( )

    return Info1(self,
                        self.3,
                        self.2,
                        self.1,
                        self.4,
                        self.ttl,
                        self.acquired, self.type, self.block, self.b_interval)

这就是我希望它看起来的样子:

    def __enter__(self, myfunc=123, func2=LA.DS):

        self.a_d = hash('{}{}'.format(self.123, self.name))
        self.pub_id = myfunc(str(self.id23).encode('utf8')).dosmth()

        self.acquired = self._acquire()

        return Info(self, self.1, self.2, self.3, self.4, self.5, self.acquired, self.type, self.2, self.interval)

到目前为止,我尝试了这些,但它们不适用于我的情况:

yapf --in-place --recursive --style="{ SPLIT_BEFORE_FIRST_ARGUMENT: False}" 3.py

yapf --in-place --recursive --style="{based_on_style: pep8; SPLIT_ALL_COMMA_SEPARATED_VALUES: False, SPLIT_ARGUMENTS_WHEN_COMMA_TERMINATED: False}" 2.py

我不确定 yapf 可以做我想做的事,所以如果有人知道要使用什么旋钮等,那将是一个巨大的帮助。

标签: pythonformattingyapf

解决方案


你试过这个column_limit选项吗?例如在你的.style.yapf文件中,把

[style]
column_limit=180

然后重新运行 yapf 命令


推荐阅读