Python getopt()位于__
我是一名Python初学者,已经成功地获得了我的第一个带有传入CLI参数的程序。从中得到了很多帮助 我的问题是:为什么在示例5.45中使用了一个单独的Python getopt()位于__,python,getopt,Python,Getopt,我是一名Python初学者,已经成功地获得了我的第一个带有传入CLI参数的程序。从中得到了很多帮助 我的问题是:为什么在示例5.45中使用了一个单独的defmain(argv),而不是调用\uuu main\uu本身中的try/except块 例5.45 希望精通Python的人能分享你的智慧 TIA- Ashant没有严格的技术原因,但将函数外的代码保持尽可能短是非常习惯的做法。具体来说,将代码放入模块范围将把变量语法、选项和参数转换为全局公共变量,即使它们只在主代码中需要。此外,使用专用的m
defmain(argv)
,而不是调用\uuu main\uu
本身中的try/except
块
例5.45
希望精通Python的人能分享你的智慧
TIA-
Ashant没有严格的技术原因,但将函数外的代码保持尽可能短是非常习惯的做法。具体来说,将代码放入模块范围将把变量
语法
、选项
和参数
转换为全局公共变量,即使它们只在主代码中需要。此外,使用专用的main
函数简化了对该函数的单元测试。使用main
函数的一个优点是,它可以方便地重复使用代码:
import sys
import script
script.main(sys.argv[1:])
# or, e.g. script.main(['-v', 'file.txt']), etc
如果脚本的\uuuuu main\uuuu
块中的任何代码作为模块导入,则不会运行该代码。因此,main
函数充当一个简单的界面,提供对脚本所有正常功能的访问。\uuuu main\uuuu
块通常只包含对main
的单个调用,以及任何其他非必要代码(如测试)
可以找到Python作者关于如何编写好的
main
函数的一些技巧。[This][1]线程已经简要详细地解释了这个问题。希望这有帮助。[1]:
import sys
import script
script.main(sys.argv[1:])
# or, e.g. script.main(['-v', 'file.txt']), etc