gpt4 book ai didi

python - 帮助消除通配符导入的工具

转载 作者:IT老高 更新时间:2023-10-28 20:42:08 26 4
gpt4 key购买 nike

我正在重构并消除一些相当单一的代码上的通配符导入。

Pylint 似乎在列出所有未使用的导入以及通配符导入方面做得很好,但我希望它提供一个 used 导入列表,以便我可以快速替换通配符导入。有什么快速的方法吗?我即将解析 pyLint 的输出,并对此和导入模块的 dir() 执行 set.difference() 。但我敢打赌,有一些我不知道的工具/程序。

最佳答案

注意:pylint 不建议使用一组使用过的导入。更改此设置时,您必须注意导入您正在修改的代码的其他模块,这些模块可能使用属于您正在重构的模块的命名空间的符号,只是因为您有未使用的导入。

我推荐以下过程来重构 from foo import *:

  • 在交互式 shell 中,键入:

    import re
    import foo as module # XXX use the correct module name here!

    module_name = module.__name__
    import_line = 'from %s import (%%s)' % module_name
    length = len(import_line) - 3
    print import_line % (',\n' + length * ' ').join([a for a in dir(module)
    if not re.match('__.*[^_]{2}', a)])
  • from foo import * 行替换为上面打印的行

  • 运行 pylint,并删除 pylint 标记的未使用导入
  • 基于整个代码再次运行 pylint,寻找不存在的符号的导入
  • 运行您的单元测试

重复 from bar import *

关于python - 帮助消除通配符导入的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7249488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com