Google开源的Python格式化工具YAPF的安装和使用教程
目前用于Python的格式化程序(如autopep8和pep8ify)都用于删除代码中的lint错误。这有很明显的局限性。 安装 pip install yapf 如果你打算使用YAPF作为一个命令行工具,而不是一个库,那么安装是没有必要的。通过Python解释器,YAPF可以作为一个目录运行。如果你克隆/解压YAPF到DIR,可以这么运行: $ PYTHONPATH=DIR python DIR/yapf [options] ... YAPF的使用 usage: yapf [-h] [--style STYLE] [-d | -i] [-l START-END | -r] ... Formatter for Python code. positional arguments: files optional arguments: -h,--help 显示帮助信息 --style STYLE 指定需要格式化的编程风格,如pep8或者google等 也可以是自定义的设置文件。默认是pep8 -d,--diff 比较格式化后的文件和原文件的区别 -i,--in-place 直接把格式化的文件更改在源文件上 -l START-END,--lines START-END 指定格式化的行的范围 -r,--recursive 在目录中递归运行 格式样式 当然也可以通过字典在命令行上做出同样的事情,例如: 例子 x = { 'a':37,'b':42,'c':927} y = 'hello ''world' z = 'hello '+'world' a = 'hello {}'.format('world') class foo ( object ): def f (self ): return 37*-+2 def g(self,x,y=42): return y def f ( a ) : return 37+-+a[42-x : y**3] 利用yapf将它格式化: x = {'a': 37,'b': 42,'c': 927} y = 'hello ' 'world' z = 'hello ' + 'world' a = 'hello {}'.format('world') class foo(object): def f(self): return 37 * -+2 def g(self,y=42): return y def f(a): return 37 + -+a[42 - x:y ** 3] 好看很多! 另外,YAPF在格式化的时候仍然有一些问题。如: BAZ = { [1,2,3,4],[5,6,7,8],[9,10,11,12] } 当有一大段内容的时候,我们都习惯分行排列,因为这显然更方便我们阅读。但是,使用YAPF格式化后: BAZ = {[1,12]} 遇到这种情况,YAPF也提供了解决的方法,就是在代码段的后面加上: # yapf: disable BAZ = { [1,12] } # yapf: disable 所以,YAPF是一个非常有用的工具,它可以帮助你将代码变得更加一致、更加容易阅读并且Pythonic。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |