Python基础语法
Python命令行参数
使用 sys.argv
获取
示例代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
print("len:", len(sys.argv))
print("list:", str(sys.argv))
sys.argv
: 是命令行的参数列表, 包含应用程序名字- len(sys.argv): 为命令行参数个数
使用 getopt
模块获取
该模块是专门用来处理命令行参数, 该模块能更灵活的解析参数列表. 支持短选项模式 -
和长选项模式 --
.
getopt.getopt
方法
原型如下:
getopt.getopt(args, options[, long_options])
其中:
- args: 要解析的命令行参数
- options : 以字符串的格式定义,options 后的冒号
:
表示如果设置该选项,必须有附加的参数,否则就不附加参数。 - long_options : 以列表的格式定义,long_options 后的等号
=
表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。 - 该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有
-
或--
的参数。
Exception getopt.GetoptError
在没有找到参数列表,或选项的需要的参数为空时会触发该异常。
异常的参数是一个字符串,表示错误的原因。属性 msg 和 opt 为相关选项的错误信息。
示例程序如下:
import sys, getopt
try:
opts, args = getopt.getopt(sys.argv[1:], "hi:o:", ["inputfile=","outputfile="])
except getopt.GetoptError:
print(sys.argv[1], " -i <inputfile> -o <outputfile>")
sys.exit(1)
for opt, arg in opts:
if opt == '-h':
print(sys.argv[1], " -i <inputfile> -o <outputfile>")
sys.exit(0)
elif opt in ("-i", "--inputfile"):
inputfile = arg
elif opt in ("-o", "--outputfile"):
outputfile = arg
else:
print(sys.argv[1], " -i <inputfile> -o <outputfile>")
sys.exit(0)
print("Input File:", inputfile)
print("Output File:", outputfile)
$ python main.py -i test1.txt -o test2.txt
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 add358@163.com
文章标题:Python基础语法
文章字数:433
本文作者:Jake Yang
发布时间:2019-12-19, 17:08:00
最后更新:2020-01-08, 14:45:10
原始链接:https://add358.github.io/2019/12/19/Language-Python-2019-12-19-基本语法/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。