本文主要介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。