0

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

我遇到了一些问题,我希望其他人可能知道答案,因为我在其文档或 wiki 中没有看到任何内容。

Python别名排序

这就是 isort 如何对使用as.

前:

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


from . import dict_classes

后:

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

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

现在是这个

之后(combine_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

如果有人可以向我解释这些要点并提供解决方案,我将不胜感激。另外,很抱歉贴在墙上。我考虑分成多个问题,但不确定。无论如何,感谢您花时间阅读和回复。

4

0 回答 0