如果想对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 len命令_python命令行参数相关推荐

  1. python getopt使用_Python命令行参数解析模块getopt使用实例

    这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options ...

  2. python解析库_Python命令行解析库argparse

    原博文 2014-08-13 05:48 − 2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 1.example 有一道面试 ...

  3. python 取值范围的命令_python获取命令行参数的方法

    想用python处理一下文件,发现有argv这个用法,搜来学习一下. 如果想对python脚步传参数,那么就需要命令行参数的支持了,这样可以省的每次去改脚步了. 用法是:python    xx.py ...

  4. aptitude 命令_C-命令行参数Aptitude问题与解答

    aptitude 命令 C programming Command Line Arguments Aptitude Questions and Answers: In this section you ...

  5. python len函数_Python 初学者必备的常用内置函数

    Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很常见,这里 ...

  6. python 参数_Python命令行参数(七)

    Python提供了一个getopt模块,用于解析命令行选项和参数. $ python test.py arg1 arg2 arg3 Python sys模块通过sys.argv提供对任何命令行参数的访 ...

  7. python 命令行参数_Python 命令行参数介绍

    Python 提供了 getopt 模块来获取命令行参数. Python 中也可以所用 sys 的 sys.argv 来获取命令行参数: sys.argv 是命令行参数列表. len(sys.argv ...

  8. python命令行参数 空格_Python 命令行参数

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

  9. python argv 详解_python解析传入的命令行参数 argv

    python解析命令行参数主要有三种方法:sys.argv.argparse解析.getopt解析 方法一:sys.argv -- 命令行执行:python test_命令行传参.py 1,2,3 1 ...

最新文章

  1. Dockerfile: no such file or directory
  2. python 语音播放_基于Python编写的语音播放软件
  3. 使用delphi 开发多层应用(十三)使用Basic4android 直接访问kbmMW server
  4. Visual Stdio2013 编译错误【error C4996:'scanf':This function or variable may be unsafe.】最简单的解决方法
  5. 不如安卓?iPhone 12 5G 速度上演“滑铁卢”
  6. 剑指offer面试题[41]-和为s的两个数VS和为s的连续正数序列
  7. 学python语言有前途吗-学习python的前景怎么样?
  8. rs232接口_、 迪文串口屏TTL与主控板RS232电平信号转换方案
  9. 计算机博士复试英语自我介绍,博士生复试自我介绍的英文
  10. 漫谈 Clustering (追忆篇): Regularized GMM
  11. Unity间隔或延迟固定的时间让物体移动一下,绘制线条
  12. 移动通信-抗衰落技术
  13. 电信天翼网关接不上服务器无信号咋小,电信天翼网关,自带无线路由功能,但是信号很差,怎样设置新的路由无...
  14. 前端js ,实现简体繁体语言切换
  15. 关于打开CMD窗口一闪而退的解决方法
  16. 查看linux磁盘信息,linux下查看硬盘型号等信息
  17. 自动化!windows端自动化抢购茅台python脚本
  18. iOS 数据库升级策略
  19. CAD二次开发 根据多段线Polyline产生的线段Line需要做进一步处理才可以使用
  20. [汇编]四字,双字,字,字节以及四进制和32进制

热门文章

  1. CCF202009-1 称检测点查询
  2. Linux内核驱动调试,Linux内核设备驱动之内核的调试技术笔记整理
  3. MLOG_CHECKPOINT缺失下紧急数据恢复
  4. 从“挖光缆”到“剪网线”|蚂蚁金服异地多活的微服务体系
  5. 从读写角度,带你了解数仓的IO基本框架
  6. 面试只要问到分布式,必问分布式锁
  7. 认识容器,我们从它的历史开始聊起
  8. 一次性搞清Java中的类加载问题
  9. 敏捷开发:影响地图工作坊的反思
  10. 解密昇腾AI处理器--DaVinci架构(计算单元)