获取选择模块是一个基于 Unix 建立的约定的命令行选项解析器getopt()
函数。它通常用于解析参数序列,例如 sys.argv。换句话说,该模块帮助脚本解析 sys.argv 中的命令行参数。它的工作原理与C类似getopt()
解析命令行参数的函数。
Python getopt 函数
该模块提供的第一个函数具有相同的名称,即 getopt()
。它的主要函数是解析命令行选项和参数列表。该函数的语法如下:
用法: getopt.getopt(args, options, [long_options])
参数:
args:要传递的参数列表。
options:脚本想要识别的选项字母字符串。需要参数的选项后面应跟一个冒号 (:)。
long_options:具有长选项名称的字符串列表。需要参数的选项后面应跟一个等号 (=)。
返回类型:返回由两个元素组成的值:第一个元素是(选项,值)对的列表。第二个是选项列表被删除后留下的程序参数列表。
示例 1:
import sys
import getopt
def full_name():
first_name = None
last_name = None
argv = sys.argv[1:]
try:
opts, args = getopt.getopt(argv, "f:l:")
except:
print("Error")
for opt, arg in opts:
if opt in ['-f']:
first_name = arg
elif opt in ['-l']:
last_name = arg
print( first_name +" " + last_name)
full_name()
输出:
这里我们创建了一个函数full_name()
,它从命令行获取名字和姓氏后打印全名。我们还将名字缩写为‘f’,姓氏缩写为‘l’。
示例 2:现在让我们看一下这种情况,我们可以使用完整的形式,如‘first_name’和‘last_name’,而不是像‘f’或‘l’这样的缩写。下面的代码使用完整的形式来打印全名;
import sys
import getopt
def full_name():
first_name = None
last_name = None
argv = sys.argv[1:]
try:
opts, args = getopt.getopt(argv, "f:l:",
["first_name =",
"last_name ="])
except:
print("Error")
for opt, arg in opts:
if opt in ['-f', '--first_name']:
first_name = arg
elif opt in ['-l', '--last_name']:
last_name = arg
print( first_name +" " + last_name)
full_name()
输出:
注意:应使用代码中参数的短形式的单破折号(“-”)和长形式的双破折号(“-”)。
相关用法
- Python String format()用法及代码示例
- Python abs()用法及代码示例
- Python any()用法及代码示例
- Python all()用法及代码示例
- Python ascii()用法及代码示例
- Python bin()用法及代码示例
- Python bool()用法及代码示例
- Python bytearray()用法及代码示例
- Python callable()用法及代码示例
- Python bytes()用法及代码示例
- Python chr()用法及代码示例
- Python compile()用法及代码示例
- Python classmethod()用法及代码示例
- Python complex()用法及代码示例
- Python delattr()用法及代码示例
- Python dict()用法及代码示例
- Python dir()用法及代码示例
- Python divmod()用法及代码示例
- Python enumerate()用法及代码示例
- Python staticmethod()用法及代码示例
- Python filter()用法及代码示例
- Python eval()用法及代码示例
- Python float()用法及代码示例
- Python format()用法及代码示例
- Python frozenset()用法及代码示例
注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 Getopt module in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。