,,python获得命令行输入的参数的两种方式

,,python获得命令行输入的参数的两种方式

本文主要介绍python命令行输入的参数。本文通过两种方法为您详细介绍,对您的学习或工作有一定的参考价值。有需要的朋友可以参考一下。

在外部直接执行python文件时,我们有时需要获取命令行的参数。

获取命令行参数的两种方法

1、通过sys.argv

Sys.argv:获取一个参数列表,第一个值是文件名本身,通过sys.argv[1]获取文件名后的第一个参数。多个参数由空格分隔。

测试代码:

导入系统

打印(sys.argv)

print(len(sys.argv))

print(len(sys.argv[1])

测试数据:

3PythonTest.py第一个参数第二个参数

执行结果:

['test.py ','第一个参数','第二个参数']

[]

['第一个参数','第二个参数']

2、通过getopt()获得参数值

如果在linux中需要通过指定参数名来运行命令行,可以使用getopt()来获取参数内容。

命令[getopt.getopt(参数列表,'短选项参数',[长选项参数]]]

参数有两个维度:短选项和长选项;有参数值(开关)和无参数值

短选项参数(命令行使用-parameter name):由1个字母组成。如果字母后面有冒号,说明这个参数需要一个参数值;否则,意味着没有输入参数值。

示例:io:

表示输入-i -o=xxx。

长选项参数(命令行使用-parameter name):用[parameter name=]表示,带值的参数必须写=,否则会抛出错误。

例如:['help ',' input=',' output=']

表示以输入-帮助-输入=XXX-输出=XXX为参数。

测试代码:

导入getopt

导入系统

opts,args=getopt . getopt(sys . argv[1:],' i:ho:',['help ',' input=',' output='])

打印(选项)

打印(参数)

对于opts,opts中的参数:

打印(选项)

如果opts=='-h '或opts==' - help ':

打印(“我只是一个解释性文档”)

elif opts=='-i '或opts==' - input ':

Print('我只是在打字,输入如下:')

打印(参数)

elif opts=='-o '或opts==' - output ':

Print('我只是输出,输出如下:')

打印(参数)

测试数据:

3 python test . py-h-o=output-input=输入最后一个参数

测试结果:

[('-h ',''),('-o ','=output '),('- input ',' input')]

['最后一个参数']

-h

我只是一个说明文件。

表示“具有…性质的”

我只是输出,输出如下:

=输出

-输入

我只是输入,输入如下:

投入

注意:使用getopt()时,需要注意的是未定义的参数不能放在短选项和长选项前面,否则-h-help等参数值无法读取(源代码不是很严格,这种情况下会直接断掉)。可以放在后面或者通过args获取。

getopt()中第一个参数之所以写成sys.argv[1:]是因为命令行上的第一个参数是文件名本身,在这里没有任何意义。

总结

关于python获取命令行输入参数的两种方法的文章到此结束。有关python命令行参数的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: