status

校对

Lizzie

完成度100%

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.

下面举个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]

Name Password4deL ;) :( X-( B-)