argparseとif __name__ == '__main__'
テストをスクリプトで使用していて、モジュールとして使用したい場合は、そのテストの下でargparseをインポートしてから初期化する必要がありますか?スクリプトでargparseを使用しているスタイルガイドと、argparseスクリプトの多くの例では、 'if name'テストを使用したり、別の方法で使用したりしていませんでした。ここで私はこれまで一緒に行くされていているもの:Python:__name__ == '__main__'の場合は、Argparseをインポートして初期化しますか?
#! /usr/bin/env python
def main(name):
print('Hello, %s!' % name)
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser(description = 'Say hello')
parser.add_argument('name', help='your name, enter it')
args = parser.parse_args()
main(args.name)
私が一番上に私の他のモジュールとargparseインポートし、代わりに、スクリプトの本体にそれを設定する必要がありますか?
[PEP 8](https://www.python.org/dev/peps/pep-0008/#imports)は、すべてのモジュールをファイルの先頭にインポートすることを推奨しています。私はエントリーポイントテストを使用するスクリプトに例外はないと仮定します。 – Daniel