我喜欢gdb和lldb如何获取两组参数,一组用于gdb / lldb本身,另一组用于目标应用程序。例如:
lldb /bin/ls -- -al -foo=bar
在双击“ - ”的左侧,您可以放置您的lldb参数,在右侧,您可以放置目标参数。有没有办法在我的Python脚本中读取这样的两组参数?
答案 0 :(得分:1)
是的! ArgumentParser.parse_args()可以选择接受参数列表,其格式与您在sys.argv
中看到的格式类似。
import sys
import argparse
first_parser = argparse.ArgumentParser()
first_parser.add_argument('arg1')
second_parser = argparse.ArgumentParser()
second_parser.add_argument('arg2')
first_args = []
second_args = []
double_dashed = False
for arg in sys.argv[1:]:
if arg == '--':
double_dashed = True
elif not double_dashed:
first_args.append(arg)
else:
second_args.append(arg)
print(first_parser.parse_args(first_args))
print(second_parser.parse_args(second_args))
打印出来:
$ ./example.py one -- two
Namespace(arg1='one')
Namespace(arg2='two')