本文实例讲述了python读取命令行参数的方法。分享给大家供大家参考。具体分析如下:

如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?

需要模块:sys

参数个数:len(sys.argv)

脚本名: sys.argv[0]

参数1: sys.argv[1]

参数2: sys.argv[2]

test.py:

import sys

print "脚本名:", sys.argv[0]

for i in range(1, len(sys.argv)):

print "参数", i, sys.argv[i]

>>>python test.py hello world

脚本名:test.py

参数 1 hello

参数 2 world

python中使用命令行选项:

例如我们需要一个convert.py脚本。它的作用是处理一个文件,并将处理后的结果输出到另一个文件中。

要求该脚本满足以下条件:

1.通过-i -o选项来区别参数是输入文件还是输出文件.

>>> python convert.py -i inputfile -o outputfile

2.当不知道convert.py需要哪些参数时,用-h打印出帮助信息

>>> python convert.py -h

getopt函数原形:

getopt.getopt(args, options[, long_options])

convert.py:

import sys, getopt

opts, args = getopt.getopt(sys.argv[1:], "hi:o:")

input_file=""

output_file=""

for op, value in opts:

if op == "-i":

input_file = value

elif op == "-o":

output_file = value

elif op == "-h":

usage()

sys.exit()

代码解释:

a) sys.argv[1:]为要处理的参数列表,sys.argv[0]为脚本名,所以用sys.argv[1:]过滤掉脚本名。

b) "hi:o:": 当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。当选项后面是带一个附加参数时,在分析串中写入选项字符同时后面加一个":"号。所以"hi:o:"就表示"h"是一个开关选项;"i:"和"o:"则表示后面应该带一个参数。

c) 调用getopt函数。函数返回两个列表:opts和args。opts为分析出的格式信息。args为不属于格式信息的剩余的命令行参数。opts是一个两元组的列表。每个元素为:(选项串,附加参数)。如果没有附加参数则为空串''。

getopt函数的第三个参数[, long_options]为可选的长选项参数,上面例子中的都为短选项(如-i -o)

长选项格式举例:

--version

--file=error.txt

让一个脚本同时支持短选项和长选项

getopt.getopt(sys.argv[1:], "hi:o:", ["version", "file="])

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

python 命令行参数-python实现读取命令行参数的方法相关推荐

  1. c语言程序的命令行输入,C程序获取命令行参数

    命令行参数 命令行界面中,可执行文件可以在键入命令的同一行中获取参数用于具体的执行命令.无论是Python.Java还是C等等,这些语言都能够获取命令行参数(Command-line argument ...

  2. 退出python命令行-退出python命令

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 在linux环境下退出python命令模式原创 2016年11月03日 ...

  3. Python 命令行解析器argparse及传参数详解

    源码实例一 from argparse import ArgumentParserparser = ArgumentParser(description='Beeswarm')group = pars ...

  4. linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...

    读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...

  5. python求两数之和的命令_python实现读取命令行参数的方法

    本文实例讲述了python读取命令行参数的方法.分享给大家供大家参考.具体分析如下: 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块 ...

  6. Python命令行参数解析模块------argparse

      首先,argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广 ...

  7. python 命令行参数-Python3 命令行参数

    Python3 命令行参数 Python 提供了 getopt 模块来获取命令行参数. $ python test.py arg1 arg2 arg3 Python 中也可以所用 sys 的 sys. ...

  8. Python 命令行参数

    概述 Python 提供了 getopt 模块来获取命令行参数. $ python test.py arg1 arg2 arg3 Python 中也可以所用 sys 的 sys.argv 来获取命令行 ...

  9. Python 命令行之旅:深入 click 之参数篇

    一.前言 在概念上, click 把命令行分为 3 个组成:参数.选项和命令. 参数 就是跟在命令后的除选项外的内容,比如 git add a.txt 中的 a.txt 就是表示文件路径的参数 选项 ...

最新文章

  1. python where 多条件
  2. C++Persistent segment tree持久段树的实现算法(附完整源码)
  3. MyBatis 问题(持续更新)
  4. 使用Javascript 获得Word application的版本号
  5. JVM——详解类加载过程
  6. leetcode —— 面试题 16.19. 水域大小
  7. radiogroup多选_【RadioGroup】实现单选并获得所选项值 | 学步园
  8. STM32单片机基础知识总结(一)
  9. 【愚公系列】2022年09月 微信小程序-微信小程序实现网页一键登录功能
  10. 从人工智能到物联网……这些公司如何改变农业与食品工业
  11. Mysql-12章-函数和操作符 (翻译+理解)
  12. 单细胞转录组学应用:骨髓微环境
  13. 零基础成为3D游戏建模师需要多久?
  14. “光猫”调制解调器 和 路由器的区别 傻傻分不清
  15. 如何提升专注力-----谨记
  16. 你还不清楚某个系统文件的作用吗?Windows系统文件详解【大全】
  17. 给所有想爱、正在爱、失去爱的人(转)
  18. smali-2.5.2.jar转dex
  19. JPEGLS图像压缩算法的FPGA实现(一)压缩算法
  20. iar环境下c语言编程,STM8在IAR环境下的C语言开发.doc

热门文章

  1. 解决tomcat启动后访问页面中文乱码
  2. Python学习笔记系列——函数
  3. C# Task的使用
  4. 事务(Transaction)
  5. Start Activity for Result(Bug)
  6. 修改类的命名空间引发的发布问题
  7. 我的设计模型之简单工厂
  8. 自学python三个月能赚钱吗-培训三个月拿“高薪”?起底人工智能“速成班”忽悠大法...
  9. 简单的python抢红包脚本-Python自动抢红包,超详细教程,再也不会错过微信红包了!...
  10. 用python绘制漂亮的图形-python如何画出漂亮的地图?