如果我在脚本中使用argparse和if __name__ == '__main__'
测试,并且我还想将其用作模块,那么我是否应该在该测试下导入argparse,然后对其进行初始化?我发现的所有样式指南都没有提到在脚本中使用argparse,而且许多argparse脚本示例都没有使用“if name”测试或以不同的方式使用它。以下是我到目前为止一直在做的事情:
#! /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并在顶部使用其他模块,然后在脚本主体中配置它?
如果
argparse
只在if __name__ == '__main__'
块中引用,则可以将import argparse
放在if __name__ == '__main__'
块中。显然,如果您的模块由另一个模块导入,则该块中的代码将不会运行,因此该模块必须为main
提供自己的参数(可能使用自己的ArgumentParser
实例)。我会将导入放在顶部,但将使用它的代码留在
if __name__
块中:将导入放在顶部可以说明模块使用的模块。即使不使用argpase,导入它对性能的影响也可以忽略不计。
相关问题 更多 >
编程相关推荐