[python]getopt函数只能按指定顺序解析参数么

英雄@末路 2018-11-20 05:00:36
刚学习使用python,写个小程序,需要带参数,用了getopt,不过从网上的例子看,解析方法都是按短选项,长选项,附加选项的顺序来的。

比如网上的例子:
opts, args = getopt.getopt(sys.argv[1:], "ho:", ["help", "output="])
输入
python test1.py '-h -o file --help --output=out file1 file2'
解析opts包括: -h, -o (file), --help, --output= (out)
args包括 file1, file2
尝试这将输入参数顺序调整
python test1.py ' file1 file2 -h -o file --help --output=out'
结果opts为空
参数都跑到args里面去了。
这个是getopt 就这么规定的,没办法改变,要想不按照那个顺序,只能自己实现getopt?
还是实现代码上修改一下就可以了?
...全文
438 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2018-11-21
  • 打赏
  • 举报
回复
它的处理逻辑就是这样的。
https://stackoverflow.com/questions/26006393/order-of-the-arguments-matters-in-getopt
英雄@末路 2018-11-21
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
它的处理逻辑就是这样的。
https://stackoverflow.com/questions/26006393/order-of-the-arguments-matters-in-getopt

感觉那个答非所问啊
只说了长短选项有重复部分的处理,没有说出那个楼主的原因和解决方法。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧