python 命令行传参

1. 简单的写法:

通过导入模块sys

import sys

if __name__ == '__main__':
    argc = len(sys.argv)
    arg0 = sys.argv[0]
    #...
    

2. 稍微复杂一点的参数可以使用getopt模块:

import sys
import getopt

if __name__ == '__main__':
    opt,args = getopt.getopt(sys.argv[1:], "h:p:f:i:t:", ["help"])
    host = ""
    port = 0
    file = ""
    index = ""
    type_ = ""
    for op, val in opt:
        if op == '-h':
            host = val
        elif op == '-p':
            port = val
        elif op == '-f':
            file = val
        elif op == '-i':
            index = val
        elif op == '-t':
            type_ = val
        elif op == '--help':
            Usage(sys.argv[0])

    if (host=="" or file=="" or index=="" or type_==""):
        Usage(sys.argv[0])
        sys.exit()

sys.argv[1:] 表示从第1个参数开始解析,不包括第0个参数(脚本路径)。

"h:p:f:i:t:" 表示有5个参数,参数使用短标,冒号‘:’ 表示这个参数后面有值,不是一个开关。如果不带冒号则表示该参数不带值。

后面的["help"]表示支持长参数“--help”.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值