当前位置: 首页 > 编程笔记 >

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

苗盛
2023-03-14
本文向大家介绍python命令行参数用法实例分析,包括了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]表示的就是当前执行的脚本.后面的才是参数.

更多关于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 配置文件路径,可选的形式如下: 本地路径,可