status |
校对 |
Lizzie |
完成度100% |
Contents
PCS113 交互参数
概述
Python中的sys模块提供一些系统变量和函式。其中的argv代表调用Python脚本时的命令行参数列表。argv[0]是脚本的名字(由于操作系统的不同显示绝对路径名或者相对路径名),然后为各命令行选项或参数。
In [1]: import sys In [2]: len(sys.argv) Out[2]: 1 In [3]: print sys.argv ['/usr/bin/ipython']
使用
Python中提供很多模块都可以解析系统参数,比如,cmd、getopt和optparse.
精巧地址: http://bit.ly/4y8FC9
精巧地址: http://bit.ly/4kIlCa
精巧地址: http://bit.ly/1XZtW8
下面举个optparse的简单例子:
1 from optparse import OptionParser
2 import sys
3
4 #...
5 def execute_from_command_line(argv=None):
6 if argv is None:
7 argv = sys.argv
8 # Parse the command-line arguments.
9 parser = OptionParser(usage="""my_html_to_txt.py [options] xxx""")
10 parser.add_option('-s', '--search', help='Search keywords frequence', dest='keyword')
11 parser.add_option('-c', '--create', help='Create a txt file from many html', action='store_true', dest='create')
12 parser.add_option('-f', '--frequence', help='Get Words Frequence', action='store_true', dest='frequence')
13 parser.add_option('-d', '--delete', help='delete Http', action='store_true', dest='delete')
14 #...
15
16 options, args = parser.parse_args(argv[1:])
17 if options.keyword:
18 print options.keyword
19 if options.create:
20 print 'create sth'
21 #...
22
23 if __name__ == '__main__':
24 execute_from_command_line(sys.argv)
首先申明一个OptionParser对象,然后通过add_option增加选项,根据这些选项做出不同的动作,完成不同的功能。最终效果如下:
~$ python pcs-113-1.py -s key -c key create sth
::Lizzie [2008/06/23 13:24:00]