自动代码格式化工具,遵循pep8规范,使用baron FST,类似于gofmt
项目描述
PyFmt
Pyfmt 是一个针对 python 的自动格式化源代码工具,在某种程度上与 gofmt 类似。它遵循 pep8 并使用 Baron 在一次遍历中完成其工作。
“Pyfmt”处于开发初期,它已经很好地格式化了大多数Python代码,但它还没有处理过分割过长行,可能会将分割的行放回一行。 但它应该适用于 ~80% 的情况。
非常欢迎反馈。
您可以在 这里 看到它的实际效果。
安装
PyFmt 可以使用 $ pip install pyfmt 安装
使用方法
pyfmt file.py # output to standard output pyfmt -i file.py # replace the content of the file, like -i of sed
从 python
from pyfmt import format_code format_code(source_code)
社区
您可以在 irc.freenode.net#baron 上找到我们
测试
您可以使用 $ py.test test_pyfmt.py 运行测试
操作
pyfmt 执行的操作(如果代码中尚未执行)
根据 pep8 规范渲染python语言的所有节点
如果数据结构有缩进,则保留缩进并按照PEP8规范缩进
在代码后的注释前加两个空格,在注释的“#”后加一个空格(对于shebang不适用)
将一行中写的复合语句拆分为两行(例如:if a: pass -> if a: pass”,对其他等待代码块的语句也如此)
将stuff替换为repr(stuff)
将多行导入拆分为多行
将制表符替换为空格
使用4个空格正确缩进整个文件
将Windows的'\r\n'转换为'\n'
如果不存在,在文件根部的函数或类定义周围放置两个空白行
如果不存在,在类中的方法定义周围放置一个空白行
将<>替换为!=
pyfmt尚未执行或无法执行且可能令人烦恼的事情
正确格式化“from x import (很多内容)”的内容
正确拆分过长的行,可能会将拆分的行再次放在一行中
删除多余的空白行
更改日志
0.1 (2014-09-07)
初始化
项目详情
下载文件
下载适合您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于安装包的信息。