本文实例讲述了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]表示的就是当前执行的脚本.后面的才是参数.
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
本文向大家介绍python采用getopt解析命令行输入参数实例,包括了python采用getopt解析命令行输入参数实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python采用getopt解析命令行输入参数的方法,分享给大家供大家参考。 具体实例代码如下: 输入的参数: 打印的结果: 希望本文所述对大家的Python程序设计有所帮助。
本文向大家介绍python中sys.argv参数用法实例分析,包括了python中sys.argv参数用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python中sys.argv参数用法。分享给大家供大家参考。具体分析如下: 在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉。 今天又好好学习了一把,总算是大彻大
为了方便起见,我们支持在运行 Blade 应用的时候修改一些配置,比如我在运行时指定端口: java -jar blade-app.jar --server.port=9088 当然还支持一些其他的命令行参数,看看下面的表格: 命令行参数 描述 示例 server.address 服务地址,默认是本机 0.0.0.0 回环地址 --server.address=192.168.1.100 serv
1.2. 命令行参数 大多数的程序都是处理输入,产生输出;这也正是“计算”的定义。但是, 程序如何获取要处理的输入数据呢?一些程序生成自己的数据,但通常情况下,输入来自于程序外部:文件、网络连接、其它程序的输出、敲键盘的用户、命令行参数或其它类似输入源。下面几个例子会讨论其中几个输入源,首先是命令行参数。 os包以跨平台的方式,提供了一些与操作系统交互的函数和变量。程序的命令行参数可从os包的Ar
'-m' 选项 显示所有编译的模块,自1.4.0以来,Tengine支持动态模块,static表示静态编译,shared表示动态编译(后面接的是动态模块的版本)。下面是例子: $ nginx -m Tengine version: Tengine/1.4.1 (nginx/1.2.3) loaded modules: ngx_core_module (static) ng
V2Ray V2Ray 的程序文件的命令行参数如下: v2ray [-version] [-test] [-config=config.json] [-format=json] -version 只输出当前版本然后退出,不运行 V2Ray 主程序。 -test 测试配置文件有效性,如果有问题则输出错误信息,不运行 V2Ray 主程序。 -config 配置文件路径,可选的形式如下: 本地路径,可