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