python编写命令行程序实例_python 命令行参数实例

在命令行下执行某些命令的时候,通常会在一个命令后面带上一些参数,这些参数会传递到程序里,进行处理,然后返回结果,在linux 下很多命令其实也是用python来实现的。那么如果做到在命令行输入类似如下的命令并能得到正确的解析呢,比如python commandline.py -l c:/temp -f c:/aaa.txt

这样的命令,并在程序中进行处理。下面详细介绍处理办法。

python为我们提供了一个模块叫optparse,也是专门来处理命令行选项的。使用的方法

1. 产生一个 optparse.OptionParser 对象

2. 为这个对象增加 option

3. 对 optparse.OptionParser对象进行parse_args() 解析. 就能得到要调用的方法,和具体的参数,下面就按这个步骤写了一个例子:

#coding:utf-8

import optparse

import sys

def execCommand():

descriptionMessage = """

python command line test

"""

p = optparse.OptionParser(description=descriptionMessage,

prog='mycommand',

version='mycommand 0.1',

usage= '%prog [starting ][action]')

p.add_option('--list', '-l',

action="store_true",

help='lists all files',

default=False)

p.add_option('--file', '-f',

action="store_true",

help='test process file',

default=False)

options, arguments = p.parse_args()

print 'get all options:',options

if options.list:

print 'begin list function :',arguments

#可以写入你自己的逻辑了

if options.file:

print 'begin file function:',arguments

#可以写入自己的逻辑处理了

if __name__=='__main__':

execCommand()

下面在命令行窗口运行处理,看效果图:

由此我们可以发现, options 里面 记录了每个选项是否为 true ,而 arguments 里面按顺序记录了各自的参数。我们可以在自己的程序中得到,并进行处理。

当然,你还可以通过 print sys.argv 来得到所有的参数,但sys.argv[0]表示的就是当前执行的脚本.后面的才是参数.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值