Python:如果__name__ =='__main__',则导入并初始化Argparse?

丹尼尔:

如果我正在使用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,导入它对性能的影响也可以忽略不计。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:如果__name__ =='__main__',则导入并初始化Argparse?

如果__name__ =='__main__'函数调用

if __name__ ==“ __main__”的位置:

替代 if __name__ == '__main__':

是否有C与Python等效:如果__name__ =='__main__':在文件顶部写入main()?

如果__name__ =='__main__'不起作用ipython

如果__name__ ==“ __main__”条件(带烧瓶/弹性豆茎)

如果在IPython中__name__ =='__main__'

如何测试或模拟“如果__name__ =='__main__'”内容

如果__name__ =='__main__',则相当于python的node.js

Python:命令行,sys.argv,“如果__name__ =='__main__'”

python if __name__ ==“ __main__”:IndentationError:预期为缩进块

使用python-multiprocessing与if __name__ =='__main__'相关的谜

将多个参数传递给 Python __name__=="__main__"

__name__ ==“ __main__”怎么办?

来自 if __name__ == "__main__" 的返回语句

如何使用 if __name__ == '__main__':

导入错误:无法从“__main__”导入名称 some_name

R是否等效于pythonic的“如果__name__ ==“ __main__”:main()“?

如果__name__ =='__main__':语句下写很多代码是否常见?

如果 __name __ == '__main__', gunicorn 是否也执行

如何在带有if __name __ ='__ main__'块的Python3中使用相对导入?

如何在“if __name__ == '__main__'”中模拟.patch 变量

使用 if __name__ == "__main__" 从其他文件调用函数:

为什么不将__name__ =='__main__'放在模块的开头?

使用IF __name__ ==“ __main__”语句从另一个python脚本运行python脚本

Pycharm“Python 控制台”中的 exec(open) 函数不执行“if __name__ == '__main__”块

在Python中调用getLogger之前,是否需要显式检查__name__ ==“ __main__”?

在Python multiprocessing.Process中,我们是否必须使用`__name__ == __main__`?