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
 
对于正式使用isortblack的项目,建议在项目存储库根目录下的配置文件中设置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 配置为 PyCharmexternal 工具,以便在代码开发时随时格式化导入排序
过程有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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python打开并读取csv文件_Python中读取csv文件内容方法

    python打开并读取csv文件_Python中读取csv文件内容方法原博文2015-05-1318:22−gg224@126.com85男dd123@126.com52女fgf125@126.com23女csv文件内容如上图,首先导入csv包,调用csv中的方法reader()创建一个对象,由于使用printdata打印出来的内容是集合…相关推荐2016-10-0810:00−python中有一个读写csv…

    2022年7月20日
    15
  • pycharm调试远程主机_eclipse连接远程服务器

    pycharm调试远程主机_eclipse连接远程服务器1.首先下载pycharm专业版,路径自寻,这边就不细说了。(社区版不支持远程配置)2.获取服务器的IP和密码3.打开pycharm,点击菜单栏:工具tools—>部署deployment–>configuration点击左上方+号step1:与服务器建立连接点击…点击确定我们的需求是,在pycharm编译器下使用服务器运行代码。因此,与服务器建立连接后,我们需要将本地文件映射到服务器中(有一种镜像的感觉?)故需要在服务器创建一个文件存放要运行的代码。s

    2022年8月26日
    4
  • 两种方式创建SqlSessionFactory[通俗易懂]

    两种方式创建SqlSessionFactory[通俗易懂]前提:已经完成了MyBatis环境的搭建!!!一、使用配置文件创建SqlSessionFactory开始Code了:packagecom.littlestar.util;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache…

    2022年6月6日
    84
  • anycast隧道_一种以anycast方式部署的CDN监控可用性的方法与流程

    anycast隧道_一种以anycast方式部署的CDN监控可用性的方法与流程本发明涉及一种CDN节点监控可用性的方法,具体涉及一种以anycast方式部署的CDN监控可用性的方法。背景技术:现有CDN可用性的检测方法,一般通过一些探测点检测目的CDN的可用性,在探测到失败时,认为目的CDN不可用;对于以anycast方式部署的CDN监控,得到的结果是不准确的;因为多个探测点发出的探测数据不一定到达了所有的目的CDN;导致探测数据未到达的CDN实际上没有被监控到。技术实现要…

    2022年5月10日
    39
  • 【C语言】输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)[通俗易懂]

    【C语言】输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)[通俗易懂]输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)一、最大公约数求法(1)辗转相除法(2)相减法二、求最小公倍数算法一、最大公约数求法(1)辗转相除法设有两整数a和b:①a%b得余数c②若c==0,则b即为两数的最大公约数③若c!=0,则a=b,b=c,再回去执行①。例如求27和15的最大公约数过程为:27÷15余1215÷12余312÷3余0因此,3即为最大公约数。(2)相减法设有两整数a和b:①若a>b,则a=a-b②.

    2022年5月16日
    50
  • ioctl() FIONREAD

    ioctl() FIONREAD函数名:ioctl  头文件:#include  功能:控制I/O设备,提供了一种获得设备信息和向设备发送控制参数的手段。用于向设备发控制和配置命令,有些命令需要控制参数,这些数据是不能用read/write读写的,称为Out-of-band数据。也就是说,read/write读写的数据是in-band数据,是I/O操作的主体,而ioctl命

    2022年7月23日
    30

发表回复

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

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