可以使用argparse
模塊。不過,語法會有點不同。
在腳本中,你可以使用模塊方式如下:
#!/usr/bin/python
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='My awesome script doing stuff')
parser.add_argument('--list1', metavar='V1', default=[], nargs='+', help='a string for the first list')
parser.add_argument('--list2', metavar='V2', default=[], nargs='+', help='a string for the second list')
arguments = parser.parse_args()
print(arguments.list1)
print(arguments.list2)
然後,您可以打電話給你的腳本:
$./run.py --list1 "one day" "one hour" --list2 "1234"
您可以使用nargs='*'
代替nargs='+'
允許空列表如$./run.py --list1 --list2 "something" "something else"
而不是強制省略參數名稱(如$./run.py --list2 "1234"
)
爲什麼不你只是傳遞一個字符串並使用'string.split(',')'來獲取列表? –
命令行_always_是否會像這樣,有兩個名爲-list1和-list2的列表,或者列表的數量和名稱可以變化嗎? –