我一直在研究一些Python,並且遇到了用於解析命令行參數的getopt
模塊。多個命令行參數
基本上,我有以下代碼:
import sys, getopt
print("The list of %s arguments passed:" % len(sys.argv))
# Print each argument
for arg in sys.argv:
print(arg)
print()
# Now print parsed arguments
opts, args = getopt.getopt(sys.argv[1:], "ab:cd", ["arbitrary", "balance=", "cite"])
for opt in opts:
print(opt)
print()
# Print the arguments returned
print(args)
但是,我需要-b
選項採取兩種不同說法,E.g -b one two
。我嘗試在getopt
的參數列表中放置兩個冒號b
,但它不起作用。
如果有人可以告訴我如何使用getopt
模塊和後置示例來實現此功能,那將非常有用!
請注意'getopt'已被棄用;改爲使用更通用的['argparse'模塊](https://docs.python.org/2/library/argparse.html)。它支持每個選項的多個值。 –
相關閱讀 - [PEP 0389](https://www.python.org/dev/peps/pep-0389/)其中提及[棄用'optparse'](https://www.python.org/dev/peps/pep-0389 /#deprecation-of-optparse)和[de-emphasis'getopt'](https://www.python.org/dev/peps/pep-0389/#updates-to-getopt-documentation ) –
使用'argparse'並用雙引號'-b「參數括住空格」' –