Python_内置模块2

 2023-09-10 阅读 24 评论 0

摘要:getopt模块 该模块是通过sys.argv获取用户输入的参数而专门用来处理命令行参数的。 格式:getopt.getopt(args, shortopts, longopts = []),该函数有两个返回值Opts 和 Args node内置模块,args为被解析的参数列表:sys.argv[1:] 从1开始是为了过滤掉

getopt模块

该模块是通过sys.argv获取用户输入的参数而专门用来处理命令行参数的。

格式:getopt.getopt(args, shortopts, longopts = []),该函数有两个返回值Opts 和 Args

node内置模块,args    为被解析的参数列表:sys.argv[1:]    从1开始是为了过滤掉argv列表里的第一个元素(argv列表里的第一个元素为执行脚本的名字)

shortopts(-)    为短选项,当一个短选项后面不带附加参数时,在短选项处写上选项字符后,其后面不带“:”;如果短选项还有附加参数,则在短选项处写上选项字符同时在后面加一个“:”号,如“ho:”中表示“h”是一个不带参数的选项字符,“o:”则表示其后面应该带一个参数    [短选项的选项字符为一个字母,该字母一般为对应长选项字符的首字母]  

longopts = [](--)    为长选项列表,长选项后面不带附加参数时,在长选项处写上选项字符后,其后面不带“=”号;如果长选项还有附加参数,则在选项字符后面加上“=”号,如 ["help", "listen="] 中“help”是一个不带参数的选项字符,“listen=”则表示其后面应该带一个参数    [长选项的选项字符为一个单词]

Opts    为分析出的格式信息,是一个二元元组的列表;每个元素为:(选项,附加参数),如果没有附加参数则为空值。

内置模块 标准库模块。Args    为不属于格式信息的剩余的命令行参数

在命令行中选项的写法要求

对于短选项,“-”号后面要紧跟一个选项字母,如果还有此选项的附加参数,可以用空格分开,也可以不分开,附加参数长度任意,也可以使用引号包括。如    -h、    -ho、    -hooo、    -h ooo、    -h "ooo"

对于长选项,“--”号后面要紧跟一个单词,如果还有此选项的附加参数,后面要紧跟“=”号,再加上参数,“=”号前后不能有空格。如    --help=file    (错误写法:-- help=file、 --help =file、 --help = file、 --help= file)

re模块?示例代码

import sys
import getopt#命令行格式文档帮助
def usage():print('''--------------info----------------h or --help		查看文档帮助-w or --write		写入-a of --add			添加-r or --read		读-c of --close		关闭文件''')sys.exit(0)shortopts = "hw:a:rc" #可以写成"-h-w:-a:-r-c"
longtopts = ["help", "write=", "add=", "read", "close"] #这里的选项字符前一般不加--,如果加了会默认把--和选项字符作为一体,这样下面的opt就要改为----opt了opts, args = getopt.getopt(sys.argv[1:], shortopts, longtopts)#如果用户没有输入命令行,则提示用户输入“-h 或 --help查看文档帮助”
if ( len( sys.argv ) == 1 ):print("输入 -h 或 --help 查看文档帮助”")sys.exit(0)try:for opt,val in opts:if opt in ("-h", "--help"):usage()elif opt in ("-w", "--write"):print("%s 写入的内容为----> %s" % (opt, val))elif opt in ("-a", "--add"):print("%s 添加的内容为----> %s" % (opt, val))elif opt in ("-r", "--read" ):print("%s 正在读文件" % opt )elif opt in ("-c", "--close"):print("%s 正在关闭文件" % opt )
except getopt.GetoptError as e:print(e)usage()

运行结果

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/39807.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息