我原本是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