Python基础语法

  1. Python命令行参数
    1. 使用 sys.argv 获取
    2. 使用 getopt模块获取
      1. getopt.getopt方法
      2. Exception getopt.GetoptError

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

在没有找到参数列表,或选项的需要的参数为空时会触发该异常。
异常的参数是一个字符串,表示错误的原因。属性 msgopt 为相关选项的错误信息。

示例程序如下:

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" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏