更新(2016):sbywaterに最新の回答があります。
それを見つけた!(ちなみに、「ハッカーのPythonガイド」を読んでいる間)
OpenStackのハッキングスタイルチェックはというプロジェクトハッキングいくつかのユニークな紹介flake8
の拡張機能。ありhacking_import_groupsそれらの中には、(関連コミット)。
例:
要件
例で使用されているファイル
tox.ini
(カスタムチェックを使用することをflake8に伝える必要があります)
[hacking]
local-check = hacking.core.hacking_import_groups
UPD:hacking
チェックへのパスの最新バージョンが変更されたため、現在はhacking.checks.imports.hacking_import_groups
です。
test.py
(チェックの対象)
import requests
import sys
from my_module import print_smth
print_smth(requests.get('https://google.com'))
print_smth(sys.version)
my_module.py
(によって使用されるローカルインポートtest.py
)
def print_smth(smth):
print smth
次に、私がflake8
に対して実行した場合test.py
:
$ flake8 test.py
test.py:2:1: H305 imports not grouped correctly (requests: third-party, sys: stdlib)
test.py:3:1: H305 imports not grouped correctly (sys: stdlib, my_module.print_smth: project)
test.py:3:1: H306 imports not in alphabetical order (sys, my_module.print_smth)
次に、インポートを正しい順序でグループ化すると、次のようになりますPEP8
。
import sys
import requests
from my_module import print_smth
print_smth(requests.get('https://google.com'))
print_smth(sys.version)
警告は見つかりませんでした:
$ flake8 test.py
$
これが将来誰かに役立つことを願っています。
pep8
このツールは、現在、これをチェックしません-複数の輸入、それだけのチェックを1つのライン(E401)に