java 命令读取参数_如何读取/处理命令行参数?

我原本是C程序员。 我看到了许多花招和“技巧”来阅读许多不同的论点。

Python程序员可以通过哪些方式做到这一点?

有关

#1楼

标准库中的规范解决方案是argparse ( docs ):

这是一个例子:

from argparse import ArgumentParser

parser = ArgumentParser()

parser.add_argument("-f", "--file", dest="filename",

help="write report to FILE", metavar="FILE")

parser.add_argument("-q", "--quiet",

action="store_false", dest="verbose", default=True,

help="don't print status messages to stdout")

args = parser.parse_args()

argparse支持(除其他外):

任意顺序的多个选项。

短期和长期选择。

默认值。

生成使用帮助消息。

#2楼

import sys

print("\n".join(sys.argv))

sys.argv是一个列表,其中包含在命令行sys.argv脚本的所有参数。

基本上,

import sys

print(sys.argv[1:])

#3楼

一种方法是使用sys.argv 。 这将打印脚本名称作为第一个参数以及传递给它的所有其他参数。

import sys

for arg in sys.argv:

print arg

#4楼

我喜欢stdlib中的getopt,例如:

try:

opts, args = getopt.getopt(sys.argv[1:], 'h', ['help'])

except getopt.GetoptError, err:

usage(err)

for opt, arg in opts:

if opt in ('-h', '--help'):

usage()

if len(args) != 1:

usage("specify thing...")

最近,我一直在包装一些与此类似的东西,以使事情不太冗长(例如,使“ -h”隐式)。

#5楼

还有argparse stdlib模块 (stdlib的optparse模块上的“改进”)。 argparse简介中的示例:

# script.py

import argparse

if __name__ == '__main__':

parser = argparse.ArgumentParser()

parser.add_argument(

'integers', metavar='int', type=int, choices=range(10),

nargs='+', help='an integer in the range 0..9')

parser.add_argument(

'--sum', dest='accumulate', action='store_const', const=sum,

default=max, help='sum the integers (default: find the max)')

args = parser.parse_args()

print(args.accumulate(args.integers))

用法:

$ script.py 1 2 3 4

4

$ script.py --sum 1 2 3 4

10

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值