1+ # encoding:utf-8
2+
3+ # !/usr/bin/env python
4+
5+ # -*- Python3命令行 -*-
6+
7+ import optparse
18import sys
9+ import webbrowser
10+
11+
12+ def process_command_line (argv ):
13+ """
14+ Return a 2-tuple: (settings object, args list).
15+ `argv` is a list of arguments, or `None` for ``sys.argv[1:]``.
16+ """
17+ if argv is None :
18+ argv = sys .argv [1 :]
19+ # initialize the parser object:
20+ parser = optparse .OptionParser (
21+ formatter = optparse .TitledHelpFormatter (width = 78 ),
22+ add_help_option = None )
23+ # define options here:
24+ parser .add_option ( # customized description; put --help last
25+ '-h' , '--help' , action = 'help' , help = 'Show this help message and exit.'
26+ )
27+ parser .add_option (
28+ '-u' , '--url' , action = 'store' , dest = 'link' , help = 'Open a link.'
29+ )
30+ parser .add_option (
31+ '-v' , '--version' , action = 'store_true' , help = 'Show version.'
32+ )
33+ parser .add_option (
34+ '-q' , '--quit' , action = 'store_false' ,help = 'Quit'
35+ )
36+ settings , args = parser .parse_args (argv )
37+ # check number of arguments, verify values, etc.:
38+ if args :
39+ parser .error ('program takes no command-line arguments; '
40+ '"%s" ignored.' % (args ,))
41+ # further process settings & args if necessary
42+ return settings , args
43+
44+ def main (argv = None ):
45+ settings , args = process_command_line (argv )
46+ print (settings )
47+ # application code here, like:
48+ run (settings , args )
49+ return 0 # success
50+
51+ def run (settings , args ):
52+ if settings .link :
53+ webbrowser .open (settings .link , 1 )
54+
55+ if settings .version :
56+ print ('VERSION 1.0' )
57+
258
3- # sys.argv接收参数,第一个参数是文件名,第二个参数开始是用户输入的参数,以空格隔开
459
5- def run1 ():
6- print ('I\' m action1' )
60+ if __name__ == '__main__' :
61+ status = main ()
62+ sys .exit (status )
763
64+ """
65+ 命令行功能:
866
9- def run2 ():
10- print ( 'I \' m action2' )
67+ python sys_argv.py -h
68+ 显示帮助信息
1169
70+ python sys_argv.py -v
71+ 显示版本号
1272
13- if 2 > len (sys .argv ):
14- print ('none' )
15- else :
16- action1 = sys .argv [1 ]
17- action2 = sys .argv [2 ]
73+ python sys_argv.py -u www.163.com
74+ 用默认浏览器打开你输入的网址
1875
19- if 'run1' == action1 :
20- run1 ()
21- if 'run2' == action2 :
22- run2 ()
23-
24- #用法:在命令行执行脚本,python sys_argv.py run1 run2
76+ action四种参数:
77+ help 显示帮助信息
78+ store 需要参数值
79+ store_true 不需要参数值,默认True
80+ store_false 不需要参数值,默认False
81+ """
0 commit comments