0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Black:自动格式化代码的神器

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-11-02 14:51 次阅读

复制别人的代码进行使用的时候,最烦的就是看到编辑器上显示的各种红色的、橙色的线吧?尤其是那些不遵守PEP8规则的代码,等号两边的空格会加到你手软...真希望哪天全世界写Python的小伙伴们都能统一代码规范啊!

没事,现在有Black这个神器,我们可以在终端中输入一句命令就自动格式化代码!而且对于初学者来说,用Black来学习代码规范也是一个非常不错的选择。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda

Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。

当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南

在终端输入以下命令安装我们所需要的依赖模块:

pip install black

看到 Successfully installed xxx 则说明安装成功。

安装完成之后,你有两种使用black的方式,一种是直接在命令里输入:

black 你的文件路径.py

它就会自动格式化该Python文件,如果你是使用 VSCode ,我推荐使用这种方法来格式化。

如果你使用 Pycharm ,那么需要这么设置:

在PyCharm菜单 File->Setting->Tools->External Tools->单击按钮“+”号:

图片

在弹出窗口里的Name中输入一个名字作为在以后在Pycharm菜单->Tools->External Tools中显示的名字,作为方便的工具入口,例如在此输入名字为BlackFormatter:

图片

在Programs中输入black安装后的black.exe文件所在目录。该目录在Windows的cmd窗口中通过命令where black查找到,在Linux中用命令which black查找。

图片

例如我的路径是:C:UsersCkendAnaconda3Scriptsblack.exe,将此包含balck.exe文件名的全路径填入到Programs框中。在Arguments中填入 FilePath ,在Working Directory中填入 ProjectFileDir 。然后单击OK即可。

图片

2.使用

如前所述,两种使用方法,先介绍Vscode的,比如说下面这个糟糕的格式:

图片

真的各种线条都出现了,不过你只需要在终端中输入:

black test.py

就能一键美化到符合PEP8标准的代码格式:

图片

使用Pycharm的话则更方便了(前提是你配置好了),你只需要按 Tools->External Tools -> BlackFormatter(你刚配置时输入的名称) 即可直接格式化当前文件。

图片

Pycharm下方如图所示则说明格式化成功:

图片

Pycharm也可以使用命令的方式格式化,在Terminal里输入即可,因为它其实和Vscode的终端是一个东西,注意black安装的环境和你终端使用的虚拟环境是一致的就行。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 格式化
    +关注

    关注

    2

    文章

    38

    浏览量

    9103
  • Black
    +关注

    关注

    1

    文章

    4

    浏览量

    10649
  • 终端
    +关注

    关注

    1

    文章

    1114

    浏览量

    29828
  • 代码
    +关注

    关注

    30

    文章

    4741

    浏览量

    68324
收藏 人收藏

    评论

    相关推荐

    MDK使用AStyle进行代码自动格式化

    MDK使用AStyle进行代码自动格式化
    的头像 发表于 09-19 14:22 3143次阅读
    MDK使用AStyle进行<b class='flag-5'>代码</b><b class='flag-5'>自动</b><b class='flag-5'>格式化</b>

    说一说MounRiver Studio的代码格式化

    MounRiver Studio具有代码格式化功能,方法是右键选择某个c文件,点击“代码格式化”即可。这个功能只针对某个c或h文件,一键全工程代码
    发表于 05-12 09:08

    格式化硬盘

    格式化硬盘 软盘只需要一次格式化,硬盘却需要两级,即低级格式化和高级格式化。  硬盘的低级格式化在每个磁片上划分
    发表于 12-25 15:40 1086次阅读

    笔记本硬盘维护之格式化

    笔记本硬盘维护之格式化篇   格式化硬盘(并非低格)会影响硬盘寿命吗?用Windows对硬盘进行格式化与对软盘进行格式化原理一样
    发表于 01-20 10:32 363次阅读

    笔记本硬盘格式化几点须知

    笔记本硬盘格式化几点须知  格式化硬盘(并非低格)会影响硬盘寿命吗?用Windows对硬盘进行格式化与对软盘进行格式化原理一样吗?
    发表于 01-23 14:15 661次阅读

    如何格式化硬盘

    如何格式化硬盘    这是广大电脑初学者经常询问的问题,因为格式化硬盘是安装装系统的前提,所以这就成为了需要首先解决的问题,本文将针这个
    发表于 02-24 11:25 450次阅读

    CoolFormat3.2C语言代码格式化工具

    CoolFormat3.2,将C语言代码格式化的工具。
    发表于 05-20 17:01 20次下载

    格式化对硬盘有伤害吗_硬盘格式化后数据还能恢复吗

    普通的格式化硬盘是不会影响硬盘寿命的。硬盘格式化后数据还能恢复吗?下面就来看看使用强力数据是如何将格式化后的数据给恢复的吧。
    发表于 12-14 16:09 1.7w次阅读

    格式化是什么

    格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级
    的头像 发表于 01-09 15:20 8.5w次阅读

    关于MDK-ARM代码格式化插件AStyle

    MDK-ARM代码格式化插件AStyle
    的头像 发表于 03-07 16:34 2377次阅读

    python字符串格式化

    python字符串格式化 格式化输出,主要有三种方式 使用 % 进行格式化 使用 format 函数进行格式化 使用 f-string 进行格式化
    的头像 发表于 02-21 16:28 1544次阅读
    python字符串<b class='flag-5'>格式化</b>

    Keil集成AStyle代码格式化工具

    借助AStyle代码格式化工具能让我们写的代码看起来工整而且规范,下面来介绍一下keil如何集成AStyle代码格式化工具
    的头像 发表于 03-30 09:12 3220次阅读
    Keil集成AStyle<b class='flag-5'>代码</b><b class='flag-5'>格式化</b>工具

    Yapf:一个格式化 Python 代码的好帮手

    大部分人使用Python中的代码格式化工具时都会选择autopep8之类的工具,这些工具可能有一定的局限性,比如不会重新格式化已经符合 PEP8 的代码。 而本文即将介绍的 Yapf,
    的头像 发表于 10-17 11:08 770次阅读
    Yapf:一个<b class='flag-5'>格式化</b> Python <b class='flag-5'>代码</b>的好帮手

    如何用一行命令格式化 Python 代码

    统一代码规范啊!然而这显然是不可能的。 不过虽然无法改变他人,但我们可以改变自己。现在有了Black这个神器,我们可以在终端中输入一句命令自动使用最规范的
    的头像 发表于 10-31 10:35 556次阅读
    如何用一行命令<b class='flag-5'>格式化</b> Python <b class='flag-5'>代码</b>

    基于Python 超简单格式化代码

    统一代码规范啊!然而这显然是不可能的。 不过虽然无法改变他人,但我们可以改变自己。现在有了Black这个神器,我们可以在终端中输入一句命令自动使用最规范的
    的头像 发表于 11-01 11:27 506次阅读
    基于Python 超简单<b class='flag-5'>格式化</b><b class='flag-5'>代码</b>