如何配置isort不改动已有导入分段仅在段内排序?
配置isort保留导入分段仅内部排序的方法
完全可行,isort原生支持识别空行分隔的导入块作为独立分段,只需简单配置就能实现只在各分段内排序、不改动原有分段结构的需求。
具体配置方式
你可以通过项目配置文件实现这个需求,以下是两种常用格式的配置示例:
使用pyproject.toml
在项目根目录的pyproject.toml中添加:
[tool.isort] # 保留空行分隔的导入分段,不合并或调整分段顺序 preserve_section_order = true # 强制每个分段内的导入按字母顺序排序 force_alphabetical_sort = true # 保持分段之间的空行数量,不额外添加或删除空行 lines_after_imports = 0
使用.isort.cfg
如果偏好ini格式配置,可创建.isort.cfg文件:
[settings] preserve_section_order = True force_alphabetical_sort = True lines_after_imports = 0
效果验证
针对你给出的示例代码:
输入:
import z import a from my.package.b import thing from my.package.a import other
运行isort your_file.py后,会输出:
import a import z from my.package.a import other from my.package.b import thing
完全符合仅在分段内排序、保留原有分段结构的预期效果。
内容的提问来源于stack exchange,提问作者Ayberk Özgür
相关产品推荐
相关产品推荐

