当我在学习脚本的时候发现以下语句:( n/ G% Z: r) q5 j
from optparse import OptionParser7 ?( R( F7 v; R
想知道这句是什么意思:
2 n% u3 b( b# T! T, U5 K 通过查询才知道,optparse模块是传输脚本参数+ P$ p7 n" }; s3 x: Y7 N
它还需要配合类OptionParser一起使用: # L- d. l" H8 ~6 M$ ^% j
完整的解释如下:
4 C T2 C& Q5 f0 D9 y
3 V6 H8 e! `2 Q) n' \2 `: s % F% z/ t+ s1 k/ d' k: ]
; `5 S* V1 k4 {- Q' E9 Q' z7 p0 Q5 K) H# N, k0 q/ J
optparse模块实现的也是类似的功能,它是为脚本传递命令参数。 使用此模块前,首先需要导入模块中的类OptionParser,然后创建它的一个实例(对象):
( q+ `# C9 A# ]" k* [
) o7 X2 h9 c* Nfrom optparse import OptionParser6 ]6 t( G. F' I/ t
parser = OptionParser() #这里也可以定义类的参数
0 p- {' @) y& V3 c1 a9 X& O2 D* ~( B9 q) C/ t* _9 k' j; x4 k: M
注意:从2.7版本后不再使用:optparse模块不推荐使用,python不再更新该模块,后续的发展将推荐使用argparse模块。
. ], H3 t+ j' m& _0 }: |( o! H7 p0 _( d& ^ Z+ [
# U n$ X: P" M! N7 ~+ V$ @optparse模块比旧的getopt模块具有更方便、更灵活、功能更强大的解析命令行选项的库。optparse使用一种更加声明式的命令行解析风格:你创建一个OptionParser实例,填充选项,并解析命令行。optparse允许用户指定选项,使用传统的GNU/POSIX语法,此外它还会自动生成使用和帮助信息。0 Z+ M6 z% h1 y3 K% F
7 M3 p* ~( H6 ~
. n$ ?1 L/ ]4 Q* A0 n3 q6 O# N5 x4 g' Z
from optparse import OptionParser
+ R4 a5 o4 h0 x$ w) B, R
def main(): parser = OptionParser() parser.add_option("-f", "--file", dest="filename" ,help="write report to FILE", metavar="FILE" ) parser.add_option("-q", "--quiet",action="store_false" , dest="verbose", default=True,help="don‘t print status messages to stdout") ' O. Z" |6 U8 v4 T+ Z
(options, args) = parser.parse_args() : B+ s5 R% p- ^) _- D+ t
if __name__ == ‘__main__‘: main() 4 m% z- b2 K/ E* f
" B+ Q$ k$ U! Y: M A! r* U |