Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-pagenavi domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/blog.zhujinhui.net/wp-includes/functions.php on line 6114

Notice: 函数 _load_textdomain_just_in_time 的调用方法不正确twentyseventeen 域的翻译加载触发过早。这通常表示插件或主题中的某些代码运行过早。翻译应在 init 操作或之后加载。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 6.7.0 版本添加的。) in /var/www/blog.zhujinhui.net/wp-includes/functions.php on line 6114
isort 让你的python import更丝滑 – 煅魂-JeffreyChu的修炼屋

isort 让你的python import更丝滑

或你在python项目开发可能见过各种各样的import,比如import不明的import *:

又比如import顺序混乱以至于都不清楚哪些包/模块是否已经被import过了:

在开发过程中,良好的代码风格和规范可以使代码更加可读、维护更加方便。Python 提供了多种工具来帮助开发者保持代码的一致性和整洁度。其中,isort 是一个专门用于整理导入语句的工具,可以帮助开发者将代码中的导入语句按照规定的顺序排序,并自动去除未使用的导入。

功能介绍

isort 主要提供以下功能:

  • 自动排序导入:根据用户设置的规则,对代码文件中的导入语句进行排序。
  • 分组导入:将导入语句分成标准库导入、第三方库导入和本地模块导入三个组,并进行排序。
  • 自动去除未使用的导入:isort 可以自动去除代码中未使用的导入语句。
  • 自动合并导入:isort 会将同一个模块的多个导入合并成一个导入。
  • 自定义排序规则:isort 提供了多种选项,允许开发者自定义导入语句的排序规则。

安装

您可以通过 pip 命令安装 isort:

pip install isort

安装成功后,您可以在命令行中输入 isort –version 来检查 isort 的版本。

使用教程

命令行使用

isort 提供了丰富的命令行选项。最基本的用法是指定一个或多个文件、目录,然后让 isort 对其进行整理:

isort your_file.py

您也可以对整个目录中的所有 Python 文件进行整理:

isort your_directory/

常见的命令行选项包括:

  • –check:检查文件中导入语句的顺序是否正确,而不对文件进行修改。如果存在不符合规范的导入语句,命令会返回错误代码。
  • –diff:显示文件在整理之前和之后的差异,而不对文件进行修改。
  • –profile:指定排序规则的配置文件,如 black 或 google。
  • –multi-line:指定多行导入的格式。
    以下是一个指定了–multi-line=VERTICAL多行导入的格式效果:
isort --multi-line=VERTICAL your_file.py

在代码中使用

isort 也可以作为一个库在 Python 代码中使用,因为isort也是一个第三方库。下面是一个示例:

from isort import file

# 对指定文件进行整理
file("your_file.py")

# 对指定目录中的所有文件进行整理
file("your_directory/", recursive=True)

配置文件

isort 支持在项目根目录中放置一个名为 .isort.cfg 的配置文件,以便自定义排序规则和选项。您可以在其中设置排序方式、组划分等选项。示例如下:

[settings]
line_length = 88
profile = black
known_third_party = pandas,numpy
known_first_party = mypackage

总结
isort 是一个强大的工具,可以帮助开发者轻松整理代码中的导入语句。通过使用 isort,代码的可读性和一致性得到了提高,也让让团队协作更加高效。

发表回复

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