如果我在脚本中使用 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 与顶部的其他模块一起导入并在脚本正文中配置它吗?
最佳答案
我会将导入放在顶部,但将使用它的代码留在 if __name__
块中:
import argparse
# other code. . .
def main(name):
print('Hello, %s!' % name)
if __name__ == '__main__':
parser = argparse.ArgumentParser(description = 'Say hello')
parser.add_argument('name', help='your name, enter it')
args = parser.parse_args()
main(args.name)
将导入放在顶部可以阐明您的模块使用哪些模块。即使您不使用 argpase,也导入它对性能的影响可以忽略不计。
关于Python:在 if __name__ == '__main__' 之后导入和初始化 Argparse ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27957373/