python的非常快速和一致的(如果很难看的话)自动格式化

pfa的Python项目详细描述


#pfa(python快速自动格式化)

自动格式化程序应该是三件事:

  • fast:快速运行,以便您能够在大型代码基上运行自动格式化程序,而无需等待自动格式化完成。
  • consistent:再次运行自动格式化程序不会更改输出。在运行自动格式化程序之前和之后,代码将运行相同的代码。微小的空白更改将被还原。
  • pretty:输出看起来不错,最好遵循pep8。

pfa选择fastconsistent,但牺牲pretty输出而不是速度。

##安装和使用

要创建可执行文件pfa,请运行

make

然后,您可以将其复制到路径中,例如/usr/bin~/bin/

有两种运行程序的方法。如果可执行文件名不以“i”结尾,即用

pfa that_python_script.py

然后格式化文件将转储到标准输出。如果从pfapfai建立一个符号链接,然后像这样运行后者

pfai that_python_script.py scriptus_secundus.py

然后作为参数列出的所有文件都将被格式化。

##常见问题解答

  • 为什么pfa是用c编写的?python解释器的启动时间通常比在2000行文件上运行pfa所需的时间长。

  • 有多快?其他流行的python格式化程序是yapfautopep8。使用以下命令连续第二次格式化约120kb的python代码,

    yapf -i bx.py autopep8 -i bx.py pfai bx.py

    我们发现,yapf需要14.0秒;autoep8需要1.8秒;pfai需要0.020秒完成,比按enter键所需的时间要短。

  • 我有要贡献的更改。会被接受吗?:是的,只要pfa仍然在o(n)中运行,即使是病理输入。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在通过REST Api发送之前,java是否会操纵map中键的顺序?   java实时代码编译?   java在尝试使用JavaFX制作东西时获得0xC0000409   java截图并返回servlet?   java哪个用户认证集成安全性?   SpringJavaMailSender和MS Exchange:java。lang.noclassdeffounderror:com。太阳邮政uti。邮件记录器   Linux上的Java小程序无法获得权限   java如何获得一行(范围)中字符串的组合?   媒体播放器的java意图过滤器(Youtube视频播放)   java如何明确地确定文件是否不是我想要的类型?   Java 8中并发异步方法后跟并行执行方法