import啥意思_import怎么导入

import啥意思_import怎么导入前言我们在开发项目时经常会进行导包有import*格式的,还有from*import*格式的,最后就会显示的很乱,那么有没有什么工具能对导包进行一键排序呢?答案是有的,使用isort工具i

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

我们在开发项目时经常会进行导包有import *格式的,还有from * import *格式的,最后就会显示的很乱,那么有没有什么工具能对导包进行一键排序呢?答案是有的,使用isort工具
 

isort介绍

isort 是一个 Python 实用库,用于按字母顺序对imports导入进行排序,并自动分为部分和类型。它为各种编辑器提供命令行实用程序、Python库和插件,以快速对所有导入进行排序。它需要 Python 3.6+ 才能运行,但也支持格式化 Python 2 代码。
 

作用展示

下面有一段比较混乱的代码如下:

from my_lib import Object

import os

from my_lib import Object3

from my_lib import Object2

import sys

from third_party import lib15, lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8, lib9, lib10, lib11, lib12, lib13, lib14

import sys

from __future__ import absolute_import

from third_party import lib3

print("Hey")
print("yo")

使用isort排序后

from __future__ import absolute_import

import os
import sys

from third_party import (lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8,
                         lib9, lib10, lib11, lib12, lib13, lib14, lib15)

from my_lib import Object, Object2, Object3

print("Hey")
print("yo")

 

安装命令

最普通的方式

pip install isort

安装支持requirements.txt的方式

pip install isort[requirements_deprecated_finder]

安装支持Pipfile的方式

pip install isort[pipfile_deprecated_finder]

安装支持以上2种根式的方式

pip install isort[requirements_deprecated_finder,pipfile_deprecated_finder]

使用poetry的安装方式

poetry add isort

 

配置信息

isort有许多配置信息,这里我们围绕与black包(代码格式化的第三方包)的配合
 

Black Compatibility

大多数情况下isort都是与black配合使用,我们只需将isort配置中的profile设置为black
 
对于正式使用isort和black的项目,建议在项目存储库根目录下的配置文件中设置black配置文件。这样,它独立于用户如何调用isort(预提交、CLI或编辑器集成),black配置文件将自动应用。
 
例如,您的pyproject.toml文件如下所示

[tool.isort]
profile = "black"

 

Config Files

isort支持各种标准配置格式,以允许将自定义快速集成到任何项目中。
 
pyproject.toml [preferred format]

[tool.isort]
profile = "hug"
src_paths = ["isort", "test"]

 

实战项目配置

演示项目以poetry配置为例子
 

1.使用poetry安装

poetry add isort

 

2.在pyproject.toml中添加如下配置

[tool.isort]
profile = "black"
skip = ["migrations"]

因为是使用Django框架,所以我们需要跳过migrations目录
 

3.将 isort 配置为 PyCharm 的 external 工具,以便在代码开发时随时格式化导入排序
过程有2步,
1.配置File Watchers,为了每个文件保存时运行isort
2.配置external tools

  • 确保已安装File Watchers插件
  • 打开Preferences or Settings -> Tools -> File Watchers,点击+按钮,创建一个新的watcher
    • Name: isort
    • File Type: Python
    • Scope: Project Files
    • Program: $PyInterpreterDirectory$/isort 注意:此示例使用的虚拟环境,如果你没有使用虚拟环境,可通过which isort查找到路径并填写真实的路径
    • Arguments: –profile black $FilePath$
    • Output paths to refresh: $FilePath$
    • Working directory: $ProjectFileDir$
    • In Advanced Options
      • 取消勾选 “Auto-save edited files to trigger the watcher”
      • 取消勾选 “Trigger the watcher on external changes”

import啥意思_import怎么导入

  • 打开Preferences or Settings -> Tools -> External Tools,点击+按钮,创建一个新的tools
    • Name: isort
    • Description: Sort imports in current file
    • Program: $PyInterpreterDirectory$/isort 注意:此示例使用的虚拟环境,如果你没有使用虚拟环境,可通过which isort查找到路径并填写真实的路径
    • Arguments: –profile black $FilePath$
    • Working directory: $ProjectFileDir$
    • In Advanced Options: 按钮全部勾选

import啥意思_import怎么导入

接下来我们查看演示效果
import啥意思_import怎么导入

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165697.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ubuntu如何安装vscode_ubuntu20.0.4 vscode配置c++环境

    Ubuntu如何安装vscode_ubuntu20.0.4 vscode配置c++环境ubuntu安装vscode教程通过官方PPA安装Ubuntumake1、执行sudoadd-apt-repositoryppa:ubuntu-desktop/ubuntu-make命令2、执行sudoapt-getupdate命令3、执行sudoapt-get…

    2022年9月17日
  • arping 报错「建议收藏」

    arping 报错「建议收藏」linux下面arping的使用

    2022年6月10日
  • Nginx+keepalived+tomcat实现tomcat高可用性负载均衡

    Nginx+keepalived+tomcat实现tomcat高可用性负载均衡

    2021年8月16日
  • UE4导入高度图

    UE4导入高度图UE4导入高度图查找高度图使用ps编辑图片打开虚幻引擎的地形编辑器查找高度图可以从百度直接搜索使用ps编辑图片下载下来之后图片是jpg格式的,虚幻引擎不能直接用需要使用ps编辑一下选择图像->勾选灰度和16位通道,注意:如果不勾选灰度,图片有颜色的话,ue生成地形可能出现为题;还有ue只支持16位通道,不要选择其他通道点击文件和储存为,之后出现一个弹窗,填写自己图片的名字,注意图片的格式只能是png和raw,其他格式ue不支持打开虚幻引擎的地形编辑器1.ue4.25的地形在模式

    2022年5月26日
  • JS实现常见数据结构:哈希表[通俗易懂]

    哈希表特点:存储键值对的数据结构,哈希表内部是使用一个hash函数把传入的键转换成一串数字,而这串数字将作为键值对实际的key,通过这个key查询对应的value非常快。哈希表方法:1.add:添加一组键值对。2.remove:删除一组键值对。3.lookup:查找一个键对应的值。

    2022年4月13日
  • 三菱数据移位指令_三菱plc循环与移位指令

    三菱数据移位指令_三菱plc循环与移位指令一、实训任务1、循环移位指令编程:控制要求:应用循环右移指令(ROR)编写8灯循环点亮程序。Y0~Y7分别控制8盏灯,按启动按钮X0后,Y0亮1S→Y0灭、Y1亮1S→Y1灭、Y2亮1S→……→Y7灭、Y0亮周而复始运行,按停止按钮X1后,灯全灭。编写并运行程序,写出运行结果。2、位移位指令编程:控制要求:应用位左移指令(SFTL)编写8灯点亮程序。Y10~Y17分别控制8…

    2022年6月7日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号