Python-like语法中重构导入的实用工具。
项目描述
重命名
此库已重写并更名为 classify-imports
以适应第4版
aspy.refactor_imports
Python-like语法中重构导入的实用工具。
安装
pip install aspy.refactor_imports
示例
aspy.refactor_imports.import_obj
构建导入对象
>>> from aspy.refactor_imports.import_obj import FromImport
>>> from aspy.refactor_imports.import_obj import ImportImport
>>> FromImport.from_str('from foo import bar').to_text()
'from foo import bar\n'
>>> ImportImport.from_str('import bar as baz').to_text()
'import bar as baz\n'
拆分导入对象
>>> from aspy.refactor_imports.import_obj import ImportImport
>>> obj = ImportImport.from_str('import foo, bar, baz')
>>> [i.to_text() for i in obj.split_imports()]
['import foo\n', 'import bar\n', 'import baz\n']
排序导入对象
>>> import pprint
>>> from aspy.refactor_imports.import_obj import FromImport
>>> objs = sorted([
FromImport.from_str('from a import foo'),
FromImport.from_str('from a.b import baz'),
FromImport.from_str('from a import bar'),
FromImport.from_str('from a import bar as buz'),
FromImport.from_str('from a import bar as baz'),
])
>>> pprint.pprint([i.to_text() for i in objs])
['from a import bar\n',
'from a import bar as baz\n',
'from a import bar as buz\n',
'from a import foo\n',
'from a.b import baz\n']
# Or to partition into blocks (even with mixed imports)
>>> import buck.pprint as pprint
>>> from aspy.refactor_imports.import_obj import FromImport
>>> from aspy.refactor_imports.import_obj import ImportImport
>>> from aspy.refactor_imports.sort import sort
>>> partitioned = sort(
[
FromImport.from_str('from aspy import refactor_imports'),
ImportImport.from_str('import sys'),
FromImport.from_str('from pyramid.view import view_config'),
ImportImport.from_str('import cached_property'),
],
separate=True,
import_before_from=True,
))
>>> pprint.pprint(partitioned)
(
(ImportImport.from_str('import sys\n'),),
(
ImportImport.from_str('import cached_property\n'),
FromImport.from_str('from pyramid.view import view_config\n'),
),
(FromImport.from_str('from aspy import refactor_imports\n'),),
)
aspy.refactor_imports.classify
分类模块
>>> from aspy.refactor_imports.classify import classify_import
>>> classify_import('__future__')
'FUTURE'
>>> classify_import('aspy')
'APPLICATION'
>>> classify_import('pyramid')
'THIRD_PARTY'
>>> classify_import('os')
'BUILTIN'
>>> classify_import('os.path')
'BUILTIN'
也是方便的常量
## From aspy.refactor_imports.classify
class ImportType(object):
__slots__ = ()
FUTURE = 'FUTURE'
BUILTIN = 'BUILTIN'
THIRD_PARTY = 'THIRD_PARTY'
APPLICATION = 'APPLICATION'
__all__ = (FUTURE, BUILTIN, THIRD_PARTY, APPLICATION)
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源分布
aspy.refactor_imports-3.0.2.tar.gz (7.6 kB 查看哈希值)
构建版本
关闭
aspy.refactor_imports-3.0.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3c7329cdb2613c46fcd757c8e45120efbc3d4b9db805092911eb605c19c5795c |
|
MD5 | 1cb09da2287b3decbe3c57af8b234fab |
|
BLAKE2b-256 | 1d2c051d8bcdce88969dd9f2d96b97cdf7ce55e6fa54e609ad79fd3423f424a5 |
关闭
aspy.refactor_imports-3.0.2-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f306037682479945df61b2e6d01bf97256d68f3e704742768deef549e0d61fbb |
|
MD5 | 128378d983c1ad36466606af688d4e3d |
|
BLAKE2b-256 | fad318747b53e6b92bdc2bb3eae56f27f4aea6b6c1228a45372484984aea84c1 |