python中parse的含义,parser.parse()
2011-8-23
计算机编程语言中的句法分析程序用法
15.5.optparse命令的解析器
线选项
docs.python.org/library/optparse.html街3358号
下面是一个例子:
来自optparse导入年轻的夏天/p help=将报告写入文件,metavar=FILE )
action=store_false ,dest=verbose ,default=True,
help= don tprintstatusmessageostdout )
(options,args )=parser.parse_args()
使用这几行代码,usersofyourscriptcannowdothe命令行上的"常规内容",例如:
- file=outfile -q
因此,下面的例子3360
-f输出文件-安静
安静文件输出文件
-q -foutfile
-qfoutfile
此外,用户可以运行以下程序之一
-h
- -帮助
andoptpasserwillprintoutabriefsummary脚本的选项3360
用法:[选项]
选项:
-h,-helpshowthishelpmessageandexit
- f文件,-文件=文件将报告写入文件
-q-安静不要打印状态消息
其中,valueyourscriptisdeterminedatruntime(正常lyfromsys.argv [0])。
15.5.1.1 .术语
授权
stringenteredonthecommand命令行,并传递字节跳动.在计算机编程语言中,argumentsareelementsofsys。argv[133333
itiscentallysiderablesubstitutenargumentlistotherthansys。argv[1:],因此您应该将"参数"视为"实现"
选项
anargumentusedtosuppliextrainformationtoguide或customizexecutionofa程序。选项有许多不同的syntaxes;traditionalunixsyntaxahyphen("-"后跟一个字母,例如异或运算.此外,traditionalunixsyntaxallowsmultipleoptions stobemergedintoasingargument,例如-x-fisequivalentto-xf。thegnuprojectintiol
用连字符分隔的单词,例如-文件或-预演.这是optparse提供的仅有的两种选项语法。
世界上已经看到的一些其他选项语法包括:
ptparse不支持这些选项语法,将来也不会支持。这是故意的:前三个在任何环境中都是非标准的,最后一个只有在您专门针对虚拟机、MS-DOS和/或Windows操作系统时才有意义。
选项参数
跟在选项后面的参数,与该选项密切相关,当该选项为。使用optparse,选项参数可以位于与其选项不同的参数中:
-f lkddx
-文件lkddx
或者包含在同一个论点中:
-flkddx
- file=lkddx
通常,给定的选项要么带参数,要么不带参数。很多人想要一个"可选选项参数"特性,这意味着一些选项如果看到参数就会接受,如果看不到就不会接受。这有点争议,因为它使解析变得模糊不清:如果构成动植物的古名或拉丁化的现代名使用一个可选参数,而-乙完全是另一个选项,我们如何解释-ab?由于这种不确定性,optparsedoes不支持这个特性。
位置论证
解析选项后,参数列表中剩余的内容,即解析选项及其参数并将其从参数列表中移除后。
必需选项
必须在命令行上提供的选项;请注意,短语"必需选项"在英语中是自相矛盾的optpasser。并不阻止您实现必需的选项,但也没有给你太多帮助。
例如,考虑这个假设的命令行:
Prog-v-report/tmp/reporttxt lkddx酒吧
-范德-报告都是选项。假设报告采用一个参数,/tmp/report。文本文件(textfile)是一个选项参数。
15.5.2.辅导的
虽然optpasser非常灵活和强大,但在大多数情况下也很容易使用。本节涵盖了基于anyoptparse的程序中常见的代码模式。
首先,需要导入OptionParser类;然后,在主程序的早期,创建一个OptionParser实例:
从optparse导入年轻的夏天/p然后您可以开始定义选项。基本语法是:
属性=值,)
每个选项都有一个或多个选项字符串,比如-对于文件,以及几个选项属性,这些属性告诉telloptparsewhat期望什么以及在命令行上遇到该选项时应该做什么。
通常,每个选项都有一个短选项字符串和一个长选项字符串,例如:
您可以随意定义任意多的短选项字符串和长选项字符串(包括零),只要总共至少有一个选项字符串。
传递给add_option()的选项字符串实际上是由该调用定义的选项的标签。为了简单起见,我们将经常提到在命令行上计数一个选项;实际上,opt解析遇到选项字符串,并从它们中查找选项。
一旦定义了所有选项,请使用instructoptparseto来解析程序的命令行:
(options,args)=parser.parse_args()
(如果您愿意,可以将自定义参数列表传递给parse_args(),但这很少是必要的:默认情况下,它使用ssys.argv[1:].)
parse_args()返回两个值:
选项,一个包含所有选项值的对象,例如,如果-文件采用单个字符串参数,则选项。文件将是用户提供的文件名,或者如果用户没有提供该选项,则为不
参数,解析选项后剩余的位置参数列表
本教程部分仅涵盖四个最重要的选项属性:操作、类型、目标(目的地)和救命啊.其中,行动是最基本的。
好了,这足够让我了解角马电台的代码了。如果我有多余的时间,我会继续学习它。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。