zoukankan      html  css  js  c++  java
  • python脚本传入参数--精讲(getopt模块)

    1.最常用的sys.argv[],这个不多谈

    2.形如

    dahu@dahu-OptiPlex-3046:~/json_folder$ python sub1.py -abb -oaaa --output=out -caa -abb3 --output=papa file1 -abb3 file2

    输出:

    ============ opts ==================
    [('-a', 'bb'), ('-o', 'aaa'), ('--output', 'out'), ('-c', 'aa'), ('-a', 'bb3'), ('--output', 'papa')]
    6
    ============ args ==================
    ['file1', '-abb3', 'file2']
    3
    -a  ==> bb
    -o  ==> aaa
    --output  ==> out
    -c  ==> aa
    -a  ==> bb3
    --output  ==> papa

    code:

    #coding=utf-8
    #!/usr/bin/env python
    import sys,getopt
    # 短格式 后面没有冒号:表示后面不带参数,后面有冒号表示后面需要参数 # 长格式 后面没有等号 =,表示后面不带参数,其他有 =,表示后面需要参数 # 注意一旦出现不带长短格式的标记'-',就进入arg模式了,例如例子中file1后面的-abb3就认为是arg,而不是opt def usage(): print("Usage:%s [-a|-o|-c] [--help|--output] args...." % sys.argv[0]) if "__main__" == __name__: try: opts, args = getopt.getopt(sys.argv[1:], "a:o:c:", ["help", "output="]) print("============ opts ==================") print(opts) print len(opts) print("============ args ==================") print(args) print len(args)
    # check all param for opt, arg in opts: if opt in ("-h", "--help"): usage() sys.exit(1) elif opt in ("-t", "--test"): print("for test option") else: print("%s ==> %s" % (opt, arg)) except getopt.GetoptError: print("getopt error!") usage() sys.exit(1)
  • 相关阅读:
    手动异常处理
    CGRectXXX笔记
    UICollectionView高级实践
    关于流媒体(m3u8)的播放与下载
    关于检测应用安装和流量信息研究
    分析Tapjoy的模式—分发用于ios设备的企业级应用程序
    分析支付宝客户端的插件机制
    Unity3D for iOS初级教程:Part 3/3
    Unity3D for iOS初级教程:Part 2/3
    Unity3D for iOS初级教程:Part 1/3
  • 原文地址:https://www.cnblogs.com/dahu-daqing/p/6863965.html
Copyright © 2011-2022 走看看