Jeśli używam argparse i testu if __name__ == '__main__'
w skrypcie, który chciałbym również użyć jako modułu, czy powinienem zaimportować argparse w ramach tego testu, a następnie zainicjować go? Żaden z przewodników stylów, które znalazłem, nie wspomina o użyciu argparse w skryptach i wielu przykładach skryptów argparse nie używa testu "if name" lub używa go inaczej. Oto co ja jeździmy z dotychczas:Python: Importuj i uruchom Argparse After, jeśli __name__ == '__main__'?
#! /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)
powinienem importować argparse z moich innych modułów na górze i skonfigurować go w organizmie skryptu zamiast?
[PEP 8] (https://www.python.org/dev/peps/pep-0008/#imports) zaleca importowanie wszystkich modułów na górze pliku. Zakładam, że nie ma wyjątków dla skryptów używających testu punktu wejścia. – Daniel