美文网首页学习提升Python编程语言
Python获取命令行参数方法

Python获取命令行参数方法

作者: 勤奋的超跑 | 来源:发表于2020-02-11 11:00 被阅读0次

我们知道,把通过命令行执行python脚本很简单,直接执行python +文件路径+文件名就可以了

如果想在命令行执行py脚本的时候对python脚本传参数,应该如何完成?

这里使用的环境是在windows系统下,Python版本3.6.5

 场景1:要求你给一个脚本传参,参数是要执行的年份数据,建立一个简单的test.py

执行,查看结果

可以看到,按照脚本已经成功输出了我们传入的参数,如果是多个参数呢?我们修改脚本

可以看到,多个参数,在输入的时候以空格隔开即可,在脚本中,以sys.argv[1:]进行设置

sys.argv在脚本中,是一个list,sys.argv[0]是脚本名,sys.argv[1]是参数1,sys.argv[2]是参数2

len(sys.argv)可以查看参数个数

场景2:要求你给一个脚本传参,参数是要执行的年份数据,如果不输入参数,则默认为本年年份,打开刚才的test.py

我们使用一个if语句,检测是否有参数传入,若有,则输出参数,若无,则输出使用datetime获取的当前年份

执行,查看结果

可以使用sys.exit()关闭sys

此外,getopt模块是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是sys.argv。命令行选项使得程序的参数更加灵活。支持短选项模式(-)和长选项模式(--)。

该模块提供了两个方法及一个异常处理来解析命令行参数。

getopt.getopt 方法用于解析命令行参数列表,语法格式如下:

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

方法参数说明:

args: 要解析的命令行参数列表。

options: 以列表的格式定义,options后的冒号(:)表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。

long_options: 以字符串的格式定义,long_options 后的等号(=)表示如果设置该选项,必须有附加的参数,否则就不附加参数。

该方法返回值由两个元素组成: 第一个是 (option,

value) 元组的列表。 第二个是参数列表,包含那些没有'-'或'–'的参数。

以上getopt模块的解释来源于https://blog.csdn.net/bloodsuckerm/article/details/79205703

场景3:我们需要py脚本处理一个文件,且将处理结果传到另一个文件,使用-i和-o来区分传入参数的类型

执行

相关文章

网友评论

    本文标题:Python获取命令行参数方法

    本文链接:https://www.haomeiwen.com/subject/qdptfhtx.html