Python 获得命令行参数的方法
本篇将介绍python中sys, getopt模块处理命令行参数
如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?
需要模块:sys
参数个数:len(sys.argv)
脚本名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[2]
test.py
2 |
print "脚本名:" , sys.argv[ 0 ]
|
3 |
for i in range ( 1 , len (sys.argv)):
|
4 |
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
03 |
opts, args = getopt.getopt(sys.argv[ 1 :], "hi:o:" )
|
07 |
for op, value in opts:
|
代码解释:
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中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys...
您可能感兴趣的文章:python的pytest框架之命令行参数详解(上)python获取命令行输入参数列表的实例代码Python 获得命令行参数的方法(推荐)Python解析命令行读取参数–argparse模块使用方法Python中的命令行参数...
### Python 实现读取命令行参数的方法 在Python编程中,读取命令行参数是一项基本且重要的技能。本文将深入探讨如何使用Python内置的`sys`模块和`getopt`模块来实现这一功能,并通过实际示例进行演示。 #### 一、...
在Python编程中,当直接通过命令行执行Python脚本时,有时...同时,Python 还提供了其他一些高级的命令行参数解析库,如 `argparse`,它提供了更丰富的功能和友好的帮助信息生成,对于大型项目来说是一个更好的选择。
4. **自动帮助文档**:Nubia自动生成命令和参数的帮助文档,只需简单地在命令行中输入`--help`,用户就能得到清晰的使用指南。 5. **交互式shell**:除了命令行工具,Nubia还支持创建交互式的shell环境。用户可以在...
进入: 直接输入python即可,如图所示 退出: 1:输入exit(),回车 2:输入quit(),回车 3:输入ctrl+z,回车 以上这篇在cmd命令行里进入...详解python退出方法Python 获得命令行参数的方法(推荐)python清空命令行方式
本文实例讲述了python命令行参数用法。分享给大家供大家参考,具体如下: 在命令行下执行某些命令的时候,通常会在一个命令后面带上一些参数,这些参数会传递到程序里,进行处理,然后返回结果,在linux 下很多命令...
Python编程语言在开发过程中,对于命令行参数的解析是一个常见的需求。...通过本文的详细介绍和示例,Python开发者应该能够掌握docopt的基本安装和使用方法,从而在自己的项目中轻松地实现命令行参数的解析。
在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包 使得这一工作变得简单而规范。PS:optparse包是类似的功能,只不过写起来更麻烦一些。 如果脚本很...
在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包使得这一工作变得简单而规范。PS:optparse包是类似的功能,只不过写起来更麻烦一些。 如果脚本很...
在Python中,处理命令行参数主要依赖于内置的`sys`模块,特别是`sys.argv`这个列表。下面将详细介绍如何在Python中实现命令行参数的解析。 `sys.argv`是一个包含命令行参数的列表。当Python脚本被调用执行时,`sys....
- **Python标准库:**Python的标准库提供了许多用于文本处理和命令行交互的模块,如`argparse`用于解析命令行参数,`sys`用于获取命令行输入,`getpass`用于安全地读取用户输入等。 - **网络请求:**为了实现在线...
在click中,命令行参数分为参数、选项和命令。参数是紧跟在命令之后的非选项内容,如`git add a.txt`中的`a.txt`。选项则是以`-`或`--`开头的参数,如`-f`、`--file`。命令是整个命令行的起点,如`git`,而`git add`...
而当我们需要获取 GitHub 上开源项目的贡献者信息时,`python-contributors` 这个命令行工具提供了一个方便的方式。这个工具允许用户轻松地检索一个或多个GitHub仓库的全部或特定贡献者名单。 首先,让我们了解一下...
例如,在Windows环境下调用其他的Python内置或第三方库提供的命令行工具时,也可以采用类似的方法。 #### 总结 本文通过一个具体的案例,展示了在Windows和Linux系统中使用Python命令行时的差异,并提供了有效的...
同时,Python的普及性也确保了ppcp在不同的开发环境中都能得到广泛支持和使用。 总的来说,Python的ppcp是一个高效且实用的工具,它结合了Python的强大功能和命令行的便捷性,为文件和目录的复制提供了带有进度条...
本文主要讨论了两种在Python命令行中传递实例化对象的方法:使用`eval`和结合`pickle`与`base64`模块。 首先,我们要明确,通过命令行传递参数本质上是基于字符串的,因此直接传递实例化后的对象是不可能的。但是,...
6. **易于集成**:CUTIE设计简洁,易于与其他Python库集成,如argparse用于处理命令行参数,click则可以提供更高级的命令行交互。 7. **文档友好**:CUTIE的API设计清晰,便于开发者阅读和理解,同时,它也支持生成...
12. Python 中的命令行参数:Python 中可以使用 sys 模块来获得命令行参数,例如 argv[2] 可以获得第二个命令行参数。 13. Python 中的数学函数:Python 中的数学函数有 round 函数,可以用来四舍五入数字。 14. ...