python解析命令行参数_解析命令行参数不读取所有参数?

本文介绍如何在Python中使用argparse模块来处理命令行参数,提供示例代码,并解释了在不同Python版本中的兼容性。通过argparse,可以方便地定义和解析命令行输入,支持多种选项和参数类型。
摘要由CSDN通过智能技术生成

我更喜欢argparse。Python documention here。

它在Python>=2.7和>=3.2中,但在python3.0和3.1中没有。如果安装中缺少它,只需将the single file from here复制到脚本所在的位置,或复制到Python安装中。在

以下是与argparse示例相似的内容:#!/usr/bin/env python3

import sys

def create_apache_vhost(*args, **kwargs):

pass

def create_lighty_vhost(*args, **kwargs):

pass

def main(argv):

import argparse

parser = argparse.ArgumentParser(description="Some server",

formatter_class=argparse.RawDescriptionHelpFormatter)

parser.add_argument(' username', type=str)

parser.add_argument('-u', dest='username', type=str)

parser.add_argument(' apache', dest='httpd', action='store_const', const='apache')

parser.add_argument('-a', dest='httpd', action='store_const', const='apache')

parser.add_argument(' lighthttpd', dest='httpd', action='store_const', const='lighthttpd')

parser.add_argument('-l', dest='httpd', action='store_const', const='lighthttpd')

parser.add_argument(' domain', type=str)

parser.add_argument(' vhost', type=str)

parser.add_argument('-v', dest='domain', type=str)

parser.add_argument(' dir', dest='directory', type=str)

parser.add_argument('-d', dest='directory', type=str)

defaults = {

'httpd': 'apache',

}

parser.set_defaults(**defaults)

args = parser.parse_args(args=argv)

print(args)

if args.httpd == 'apache':

create_apache_vhost(args.domain, args.directory, args.username)

elif args.httpd == 'lighttpd':

create_lighty_vhost(args.domain, args.directory, args.username)

if __name__ == '__main__':

main(sys.argv[1:])

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值