python的非常快速和一致的(如果很难看的话)自动格式化
pfa的Python项目详细描述
#pfa(python快速自动格式化)
自动格式化程序应该是三件事:
- fast:快速运行,以便您能够在大型代码基上运行自动格式化程序,而无需等待自动格式化完成。
- consistent:再次运行自动格式化程序不会更改输出。在运行自动格式化程序之前和之后,代码将运行相同的代码。微小的空白更改将被还原。
- pretty:输出看起来不错,最好遵循pep8。
pfa选择fast和consistent,但牺牲pretty输出而不是速度。
##安装和使用
要创建可执行文件pfa,请运行
make
然后,您可以将其复制到路径中,例如/usr/bin或~/bin/。
有两种运行程序的方法。如果可执行文件名不以“i”结尾,即用
pfa that_python_script.py
然后格式化文件将转储到标准输出。如果从pfa到pfai建立一个符号链接,然后像这样运行后者
pfai that_python_script.py scriptus_secundus.py
然后作为参数列出的所有文件都将被格式化。
##常见问题解答
为什么pfa是用c编写的?python解释器的启动时间通常比在2000行文件上运行pfa所需的时间长。
有多快?其他流行的python格式化程序是yapf和autopep8。使用以下命令连续第二次格式化约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)中运行,即使是病理输入。