跳转到主要内容

自动代码格式化工具,遵循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)

  • 初始化

项目详情


下载文件

下载适合您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

pyfmt-0.1.tar.gz (6.7 kB 查看散列值)

上传时间

构建的发行版

pyfmt-0.1-py2.py3-none-any.whl (8.9 kB 查看散列值)

上传时间 Python 2 Python 3

pyfmt-0.1-py2.7.egg (6.4 kB 查看散列值)

上传时间

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面