Инструмент для обнаружения относительного импорта без точек в Python? - PullRequest
6 голосов
/ 20 декабря 2010

Считается плохим Python использовать импорт следующим образом:

import my_module

Когда вы делаете относительный импорт, и это будет работать:

from . import my_module

Есть ли инструмент, который может обнаружитьэти не пунктирные относительные импорты в моем коде и предупреждают меня, чтобы я мог обновить их до точечного синтаксиса? Мой проект имеет сотни модулей Python, и я хотел бы сделать это автоматически.(Возможно, такой инструмент переопределит __import__ и обнаружит неправильные операции импорта при их запуске при запуске программы.)

Кто-нибудь знает о таком инструменте?

Ответы [ 2 ]

4 голосов
/ 20 декабря 2010

[Перенесено в качестве ответа, потому что оно, очевидно, сделало трюк]

2to3 автоматически преобразует их, потому что это обязательно в Python 3.

Вот соответствующий соответствующий исходный код если вы хотите изменить его для своих целей.

В качестве альтернативы, вы можете просто запустить 2to3 только с этим фиксатором: 2to3 -w -f import myproject/

0 голосов
/ 20 декабря 2010

pylint выдает предупреждения об относительном импорте вместе с тоннами других вещей, которые по той или иной причине считаются "плохим Python".

...