python isort问题的逆向排序和“as”排序

2024-06-14 07:08:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我为Python下载并开始使用isort。https://pypi.python.org/pypi/isort。在

我对一些问题有异议,我希望其他人能知道答案,因为我在它的文档或wiki上看不到任何东西。在

Python别名排序

这就是isort将如何对使用as的Python导入进行排序。在

在此之前:

from .core import check
from . import bridgebuilder as bridge
from . import plugin as plug
from . import common


from . import dict_classes

之后:

^{pr2}$

这里的想法是as语句得到特殊处理并放在最上面。您可以通过在.isort.cfg文件中添加combine_as_imports来忽略这一点

现在是这个

后(合并_as_imports=1)

from . import common
from . import plugin as plug
from . import dict_classes
from . import bridgebuilder as bridge
from .core import check

哎呀。我知道,如果删除as部分,只查看模块名称,那么从技术上讲,顺序仍然是升序的,但这根本不是我所期望的。在

我所期待的

from . import common
from .core import check
from . import dict_classes
from . import plugin as plug
from . import bridgebuilder as bridge

这样眼睛就会朝一个方向移动(从左上到右下)来读取每个模块/名称空间的名称。毕竟,大多数时候我并不关心模块的名称-我只关心在文件中键入内容所需的名称空间。在

排序选项不足

我还没有找到按降序排序的方法。在

这就是isort所做的

以前

import os
import itertools
import functools
import yamlordereddictloader

import six

import copy

from .core import check
from . import bridgebuilder

后(行长度-升序-字母顺序)

import os
import copy
import functools
import itertools

import six
import yamlordereddictloader

from .core import check
from . import bridgebuilder

我想要的(行长度-降序-字母顺序)

import functools
import itertools
import copy
import os

import yamlordereddictloader
import six 

from . import bridgebuilder
from .core import check

如果有人能向我解释这些要点并提出解决方案,我将不胜感激。还有,很抱歉贴在墙上。我考虑过分成多个问题,但不确定。不管怎样,谢谢你花时间阅读和回复。在


Tags: fromcoreimport名称排序checkascommon