Примечание: компания Pylint не рекомендует набор используемых импортов.Изменяя это, вы должны знать о других модулях, импортирующих код, который вы модифицируете, которые могут использовать символы, которые принадлежат пространству имен модуля, который вы реорганизуете, только потому, что у вас неиспользуемый импорт.
Я рекомендую следующую процедуру для рефакторинга from foo import *
:
в интерактивной оболочке, введите:
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 *