美文网首页Python基础
Python:使用命令行参数

Python:使用命令行参数

作者: 子休_ | 来源:发表于2018-02-11 20:13 被阅读34次

    在某种功能被大量使用的时候,我们应该考虑写一个脚本封装好,以便重复调用。但如果频繁的修改某几个参数会十分麻烦,那么读取命令行参数作为脚本运行的参数,是很重要的。

    Python中读取命令行参数只需要使用sys.argv即可。

    python main.py -t Testing
    

    这样一条命令,sys.argv的值为["main.py", "-t", "Testing"]
    事实上,sys.argv[0]的值始终是调用的脚本名。所以我们解析命令行参数只需要解析sys.argv[1:]即可。

    getopt模块


    这是一个十分简单易上手的Python标准库模块。只需要类似于如下的一行代码就可以解析命令行参数,而不用我们手动匹配。

    opts, args = getopt.getopt(sys.argv[1:], "ht:a", ["help", "Test="])
    

    如上代码,指定了如果有-t或者--Test参数,它们应该带有值。指定方式就是:=
    也指定了如果有-h-a--help参数,它们不应该带有值。

    getopt.getopt()函数的返回值分两个:

    1. 返回的是类似于[("-t", "value"), ("h", "")]的列表。其中包含参数与值的二元组,如果该参数不带值,则第二项为空。
    2. 返回的是没有匹配到的参数。譬如上面的代码解析这条命令python main.py -t test fuck,args的值就是["fuck",]

    解析完之后,怎么用,就看自己发挥了。

    有一个使用命令行参数批量修改文件名或后缀名的脚本在我的Github

    相关文章

      网友评论

        本文标题:Python:使用命令行参数

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