Se sto utilizzando argparse e un test if __name__ == '__main__'
in uno script che vorrei utilizzare anche come modulo, dovrei importare argparse con quel test e quindi inizializzarlo? Nessuna delle guide di stile che ho trovato menziona l'uso di argparse negli script e molti esempi di scripting argparse non usano il test 'if name' o lo usano in modo diverso. Ecco quello che mi sono state andando con finora:Python: importa e inizializza Argparse Dopo se __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)
Dovrei importare argparse con i miei altri moduli in alto e configurarlo nel corpo dello script, invece?
[PEP 8] (https://www.python.org/dev/peps/pep-0008/#imports) consiglia di importare tutti i moduli nella parte superiore del file. Suppongo che non ci siano eccezioni per gli script che utilizzano il test del punto di ingresso. – Daniel