0

我想编写一个应用程序 my_app,它需要一个命名选项列表和一个来自 cmdline 的文件名列表,例如,

% my_app --arg_1 arg_1_value filename_1 filename_2

文件名是最后一个参数,并且不与任何命名选项相关联。

从我工作过的 cmdline 解析器(例如Golang 中的标志)来看,解析器似乎只会提取配置的 args,并且我需要通过原始 argv 手动识别文件名列表[] 列表。

我想问一下是否有解析器(或我可能忽略的选项)也可以提取这些文件名,或者它们只返回未处理的参数,因此,我可以假设这些是文件名。

4

1 回答 1

1

Golangflag模块使尾随参数可用作切片flag.Args,它是os.Args.

这是命令行参数解析器工作的一种非常典型的方式,尽管细节会因语言而异。例如,标准 C 库参数解析器提供了 global optind,它是argv第一个非标志参数的索引。

于 2021-01-01T23:05:48.943 回答