我每天都使用这些实用程序来使我的Python代码可显示。它们免费且易于使用。编写漂亮的Python比看起来要难。作为发布工作流程的一部分,我使用以下工具使代码可见并消除可避免的错误。1.黑色在#1,我们有黑色。Black是一个毫不妥协的Python代码重构工具。它将确保您的代码符合PEP8建议。您可以使用pip3从pypi获取Black:pip3install--upgrade--userblackBlack有丰富的选项,使用black-h打印帮助文本。black-tpy38--check>黑色输出要使文件修复为黑色,请在运行黑色时删除--check选项。2.eradicatereradicate是一种用于查找注释掉的代码块的便捷工具,位居第二。你可能不再需要它们了!您可以使用pip3从pypi中删除:pip3install--upgrade--usereradicate删除的选项很少,使用eliminate-h打印帮助文本。eradicate>Eradicateoutput使用-i选项就地修复代码。3.Vulture哇,那些模块的名字好激动!Vulture将在#3处找到无法访问的死代码并将其清理。我很早就在美化管道中使用了这种方法。您可以使用pip3从pypiroot:pip3install--upgrade--uservultureVulture有一些选项,使用vulture-h打印帮助文本。vulture>Vulture输出4。coveragecoverage是Python代码分析的曾祖父!在#4中,我在发布工作流中使用了覆盖率,只是为了在文件中找到无法使用assert语句执行的无法访问的代码。您可以使用pip3从pypi获取覆盖率:pip3install--upgrade--usercoverage覆盖率有很多选项,我在这里使用它来查找未到达代码的行号:coverageerase#erasepreviousdatacoveragerun--branch#runabranchanalysiscoveragereport-m#createareport>覆盖输出5。PycodestylePycodestyle是一个很棒的选择代码格式的工具。它告诉您您的代码与PEP-8中的提案有何不同。因为我通常在我的工作流程中首先运行黑色程序,所以这个工具通常不会报告任何东西。排在第5位,这是该列表中值得添加的内容!你可以使用pip3从pypi获取pycodestyle:pip3install--upgrade--userpycodestylePycodestyle有很多选项,我在这里使用它来查找未达到的代码行号:pycodestyle--show-source--statistics<你的文件>>Pycodestyleouput6。pylintPylint是这份榜单必备的工具!在编写要发布给广大受众的代码时,我经常使用它。您可以使用pip3从pypi获取pylint:pip3install--upgrade--userpylintpylint有很多选项。我在这里通过可选插件使用它。Pylint还提供非常方便的代码评级,非常适合游戏化:)pylint--include-naming-hint=y--load-plugins=pylint.extensions.mccabe,pylint.extensions.redefined_variable_type>Pylintoutput7。MypyMypy在Python3.8中很有用,因为它检查我定义的类型提示是否被正确使用。如果您在Python代码中使用类型提示,Mypy将非常有用。您可以使用pip3从pypi获取mypy:pip3install--upgrade--usermypyMypy有很多选项。我在这里以严格模式使用它,将Python版本3.8指定为目标。mypy--python-version3.8--strict>Mypyoutput8。PyflakesPyflakes是一个非常强大的bug查找程序。到目前为止,pyflakes很少在pyflakes中发现任何新内容,但无论如何它不会花费你任何东西!Pyflakes不检查样式,它检查错误。您可以使用pip3从pypi获取pyflakes:pip3install--upgrade--userpyflakesPyflakes真的没有其他选择,它的设计非常简单和快速。pyflakes<你的文件>>Pyflakes输出9。DoctestDoctest是Python安装的一部分,这是一个很大的好处!如果我在我的代码中使用doctest,那么我想在发布之前运行它。这里有一个有趣的概念:通过文档进行测试(文字测试)。DougHellmann的这篇文章提供了一些不错的背景知识。不需要安装Doctest。大多数选项可以从代码文件的doctest部分配置。在这里,我使用-v选项进行详细输出。python3-mdoctest-v<你的文件>>doctest输出10。BanditBandit是一款安全测试工具。我将其作为最后一道防线纳入我的工作流程,没有人愿意为安全漏洞负责!您可以使用pip3从pypi获取bandit:pip3install--upgrade--userbanditBandit有很多选项-它很容易配置。在这里,我将其配置为跳过错误B101(使用断言)并且仅报告中度和高度错误。bandit-sB101-ll-fscreen11.Radon奖金时间!Radon是一款非常优秀的静态代码分析工具。它提供了各种指标,您可能需要注意其中的一些指标。Radon给你的模块、类和方法打了一个从A到F的等级。您可以使用pip3从pypi获取ra:pip3install--upgrade--userradonon有很多选项。在这里,我运行所有检查并将所有结果打印到终端。radonccmiraw-na>Radonoutput我真的希望你喜欢这个故事!也许您找到了可以使用的东西,或者您添加了一些有趣的东西,无论哪种情况,祝Pythonistas编码愉快!(本文翻译自RichardQuinn的文章《10 Tools I Use to Craft Better Python Code》,参考:https://levelup.gitconnected.com/10-tools-i-use-to-craft-better-python-code-b9a9776a7871)