python导入管理器

imporganizer的Python项目详细描述


importganizer组织在文件开头找到的python文件的任何导入,并将它们按字母顺序排列。第一行中的注释或docstring尚不受支持。此功能已规划。

必要条件

您的导入需要按照以下规则进行格式化:

  • 它们必须位于文件的开头(删除第一个导入之前的空行)。
  • 它们必须使用正斜杠定义多行导入。
  • 它们必须用两个空行与文件的其余部分(python代码)分开。

好:

from django.models import Model, \
    Manager

坏:

from django.models import (Model,
    Manager)

用法

使用pip安装:

$ pip install imporganizer

与命令行一起使用(主要用法):

$ imporganizer organize-this.py --third-party=package1,package2 --homemade=package3,package4

使用以下命令更新标准软件包列表:

$ imporganizer --update-builtin

不能用一个命令更新内置列表和组织文件,但这是我们路线图中的一个功能。

输出

它们的分类如下:

  • standard:默认python发行版中包含的所有包。
  • 第三方:所有不标准且不在项目内部的包。
  • 自制:项目内部的依赖项、包和模块。

要以这种方式对包进行分类,必须通知哪些是第三方包,哪些是项目内部包。您可以通过命令行执行此操作:

imporganizer organize-this.py --third-party=package1,package2 --homemade=package3,package4

对于这样的输入:

from django.forms import Form, \
    CharField
from textwrap import dedent

from django.db.models import Model
import sys
import os
import internal

import another_internal


print('hey')

输出为:

import os
import sys
from textwrap import dedent

from django.db.models import Model
from django.forms import CharField, \
    Form

import another_internal
import internal


print('hey')

它将假定最大行长度为79个字符。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Android应用程序中处理新活动时出现java NullPointerException   从PSV文件读取Java   在JavaSwing中将方法从一个类传递到另一个类   带有MongoDB错误的java Vertx ClassNotFoundException:com。mongodb。联系溪流工厂   在java中替换2D数组中的数字?   java Avro方案空布尔和双整数布尔的写并集   java导入组织。neo4j无法解决?   从另一个获取变量。使用反射的java文件   Java:以格式化字符串的形式返回具有非常不同的条目长度的2D数组   java客户端应用程序正在从IBMMQ接收不同格式的消息体   java在我的主循环中的步骤有问题   java如何正确安装来自sslforfree的证书。tomcat服务器上的com   java RecyclerView变更单永久   java如何获得屏幕的精确中间位置,即使调整了大小