用于*
将列表解包为参数:
fun(*sys.argv[1:])
请注意,这将导致字符串参数;sys.argv
命令行条目始终是字符串。
您可能希望查看该argparse
模块来为您处理命令行参数,包括自动转换:
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('-a', type=int, default=7)
parser.add_argument('-b', type=int, default=1)
args = parser.parse_args()
func(args.a, args.b)
然后使用:
$ python my_program.py -a=5 -b=6
这里的额外优势是您可以获得适当的帮助反馈,并且您遵循标准的命令行约定:
$ python my_program.py --help
usage: [-h] [-a A] [-b B]
Process some integers.
optional arguments:
-h, --help show this help message and exit
-a A
-b B