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

    文章

    37

    浏览量

    9000
  • Black
    +关注

    关注

    1

    文章

    4

    浏览量

    10596
  • 终端
    +关注

    关注

    1

    文章

    998

    浏览量

    29601
  • 代码
    +关注

    关注

    30

    文章

    4557

    浏览量

    66822
收藏 人收藏

    评论

    相关推荐

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

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

    [小技巧]给Keil5添加代码格式化插件

    安装完成后打开Keil查看效果下面多出的4个选项的功能:1.使用CoolFormat格式化当前文件(如果文件未保存,则第一遍是保存,点第二遍才会格式化)2.使用CoolFormat打开当前
    发表于 09-15 19:41

    fatfs文件系统格式化代码SPI flash

    fatfs文件系统格式化代码SPI flash,求大虾帮助
    发表于 10-04 14:21

    STM32格式化代码问题

    目的是想实现数据存储,U盘拷出来,大致上是可以做出来了,不过发现还是有些小问题。 我的程序是直接用f_mkfs格式化了我的FLASH(W25Q64),也就是说插电脑不会再提示格式化。 数据
    发表于 10-25 11:46

    AStyle代码格式化工具分享!

    MDK自带编辑器没有格式化代码功能,楼主强迫症,代码不整齐不舒服,人工整理又很麻烦,网上搜了下,找到了这个。(论坛有AStyle批量整理工具,只是没提到怎么集成进MDK。)先附实例,二楼再介绍简单参数。以图说话选择customi
    发表于 08-13 04:07

    如何对MicroSD卡格式化

    使用ESP32-CAM每隔几秒拍一张照片,并存储到SD卡中。ESP32-CAM成本约为40元,用过的MicroSD卡2.实验方法格式化MicroSD卡对MicroSD卡格式化,注意选择FAT32格式
    发表于 01-21 13:58

    说一说MounRiver Studio的代码格式化

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

    请问keil怎么格式化代码?

    一直都是复制到格式化工具里 然后复制回来 不知道有没有快捷键格式化?
    发表于 11-08 06:32

    格式化硬盘

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

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

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

    格式化是什么

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

    Keil集成AStyle代码格式化工具

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

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

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

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

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

    基于Python 超简单格式化代码

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