-3
我想任何數量的字符串傳遞給一個Python程序,並讓他們解析爲列表或數組:如何將參數解析到python列表中?
foo.py hello world
foo.py a b e f g ddd qqq vvv
等,多達200個字符串。
我使用argparse來解析python中的命令行參數。我怎樣才能做到這一點?該文檔沒有給出任何解析任意數量參數的例子。
我想任何數量的字符串傳遞給一個Python程序,並讓他們解析爲列表或數組:如何將參數解析到python列表中?
foo.py hello world
foo.py a b e f g ddd qqq vvv
等,多達200個字符串。
我使用argparse來解析python中的命令行參數。我怎樣才能做到這一點?該文檔沒有給出任何解析任意數量參數的例子。
使用nargs
關鍵字參數。
import argparse
p = argparse.ArgumentParser()
p.add_argument('foo', nargs='+')
args = p.parse_args()
print args.foo
nargs='+'
需要一個參數。用法:
$ python test.py a b c
['a', 'b', 'c']
$ python test.py
usage: p.py [-h] foo [foo ...]
p.py: error: too few arguments
只要做,例如:
import sys
print(sys.argv[1:])
你會看到sys.argv
這正是你想要的(除了sys.argv[0]
名單是你的程序,你可能不關心的名稱關於 - 這就是爲什麼我把它切片:-)。
https://docs.python.org/3/library/argparse.html#nargs – hpaulj