我正在编写现有软件的新实现(无尘室实现,因此无法访问旧代码)以及新的命令行界面,我需要模拟旧界面以与现有工作流程兼容。我会在旧界面和新界面之间进行选择,具体取决于调用可执行文件的名称,例如busybox。
旧的命令行界面实质上使用键值对,但不包含任何'-'或'='字符。例如
# assume your plot is saved to tfile
with open(tfile) as fin:
read_in = fin.read()
b64_data = base64.urlsafe_b64encode(read_in.decode('utf-8'))
# now send over the network
我已经在使用boost,所以如果可以的话,我想坚持使用program_options。最简单的方法是简单地分析选项,而无需在参数的开头加上“-”,但我看不到这样做的方法。
使用program_options可行吗?还是最好为此编写一个自定义解析器?
答案 0 :(得分:0)
您必须为此编写一个自定义解析器,这并不难:) 尤其是当您找到所需的东西时。
boost机制除了键值对的=之外。
如果不想自己编写,请使用现有代码: https://github.com/jarro2783/cxxopts