python命令行参数用法实例分析


Posted in Python onJune 25, 2019

本文实例讲述了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()

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

python命令行参数用法实例分析

python命令行参数用法实例分析

python命令行参数用法实例分析

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

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

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python实现的建造者模式示例
Aug 06 Python
详解Python locals()的陷阱
Mar 26 Python
django框架model orM使用字典作为参数,保存数据的方法分析
Jun 24 Python
Python实现 PS 图像调整中的亮度调整
Jun 28 Python
python修改字典键(key)的方法
Aug 05 Python
pytorch 在sequential中使用view来reshape的例子
Aug 20 Python
Python 面向对象部分知识点小结
Mar 09 Python
Python依赖包迁移到断网环境操作
Jul 13 Python
Python2手动安装更新pip过程实例解析
Jul 16 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
python使用隐式循环快速求和的实现示例
Sep 11 Python
教你怎么用Python生成九宫格照片
May 20 Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 #Python
bluepy 一款python封装的BLE利器简单介绍
Jun 25 #Python
PyQt5下拉式复选框QComboCheckBox的实例
Jun 25 #Python
在Pandas中处理NaN值的方法
Jun 25 #Python
python实现websocket的客户端压力测试
Jun 25 #Python
python中metaclass原理与用法详解
Jun 25 #Python
python实现接口并发测试脚本
Jun 25 #Python
You might like
php全局变量和类配合使用深刻理解
2013/06/05 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
js 文件引入实现代码
2010/04/23 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
[47:45]Liquid vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
Python星号*与**用法分析
2018/02/02 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
python多线程同步实例教程
2019/08/11 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
ProForm英国站点:健身房和健身器材网上商店
2019/06/05 全球购物
小学生自我鉴定
2013/10/12 职场文书
大学生学年自我鉴定
2014/02/10 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
教师自查自纠材料
2014/10/14 职场文书
公务员政审材料
2014/12/23 职场文书
大学生自荐信范文
2015/03/05 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
Redis主从复制操作和配置详情
2022/09/23 Redis
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python