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判断图片宽度和高度后删除图片的方法
May 22 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
Jun 07 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
python编程实现希尔排序
Apr 13 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
使用matplotlib中scatter方法画散点图
Mar 19 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
Python实现汇率转换操作
May 03 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
15个Pythonic的代码示例(值得收藏)
Oct 29 Python
一篇文章带你了解Python和Java的正则表达式对比
Sep 15 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
基于mysql的bbs设计(一)
2006/10/09 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
python-opencv颜色提取分割方法
2018/12/08 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
工业学校毕业生自荐书
2014/01/03 职场文书
大学学习个人的自我评价
2014/02/18 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
自我鉴定书
2014/03/24 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
解除合同协议书范本
2016/03/21 职场文书
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技