java 命令读取参数_如何读取/处理命令行参数?
我原本是C程序員。 我看到了許多花招和“技巧”來(lái)閱讀許多不同的論點(diǎn)。
Python程序員可以通過(guò)哪些方式做到這一點(diǎn)?
有關(guān)
#1樓
標(biāo)準(zhǔn)庫(kù)中的規(guī)范解決方案是argparse ( docs ):
這是一個(gè)例子:
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支持(除其他外):
任意順序的多個(gè)選項(xiàng)。
短期和長(zhǎng)期選擇。
默認(rèn)值。
生成使用幫助消息。
#2樓
import sys
print("\n".join(sys.argv))
sys.argv是一個(gè)列表,其中包含在命令行sys.argv腳本的所有參數(shù)。
基本上,
import sys
print(sys.argv[1:])
#3樓
一種方法是使用sys.argv 。 這將打印腳本名稱(chēng)作為第一個(gè)參數(shù)以及傳遞給它的所有其他參數(shù)。
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...")
最近,我一直在包裝一些與此類(lèi)似的東西,以使事情不太冗長(zhǎng)(例如,使“ -h”隱式)。
#5樓
還有argparse stdlib模塊 (stdlib的optparse模塊上的“改進(jìn)”)。 argparse簡(jiǎn)介中的示例:
# 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
總結(jié)
以上是生活随笔為你收集整理的java 命令读取参数_如何读取/处理命令行参数?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java原型链_深入总结Javascri
- 下一篇: discuz论坛 java,如何添加Di