Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python getopt()位于___Python_Getopt - Fatal编程技术网

Python getopt()位于__

Python getopt()位于__,python,getopt,Python,Getopt,我是一名Python初学者,已经成功地获得了我的第一个带有传入CLI参数的程序。从中得到了很多帮助 我的问题是:为什么在示例5.45中使用了一个单独的defmain(argv),而不是调用\uuu main\uu本身中的try/except块 例5.45 希望精通Python的人能分享你的智慧 TIA- Ashant没有严格的技术原因,但将函数外的代码保持尽可能短是非常习惯的做法。具体来说,将代码放入模块范围将把变量语法、选项和参数转换为全局公共变量,即使它们只在主代码中需要。此外,使用专用的m

我是一名Python初学者,已经成功地获得了我的第一个带有传入CLI参数的程序。从中得到了很多帮助

我的问题是:为什么在示例5.45中使用了一个单独的
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