python – OptionParser – 支持命令行末尾的任何选项
发布时间:2020-12-16 22:18:57 所属栏目:Python 来源:网络整理
导读:我正在编写一个应该在远程服务器上执行命令的小程序(假设ssh [hostname] [command]周围有一个相当愚蠢的包装器). 我想这样执行它: ./floep [command] 但是,我需要不时传递某些命令行: ./floep -v [command] 所以我决定使用optparse.OptionParser.问题是,我
我正在编写一个应该在远程服务器上执行命令的小程序(假设ssh [hostname] [command]周围有一个相当愚蠢的包装器). 我想这样执行它: ./floep [command] 但是,我需要不时传递某些命令行: ./floep -v [command] 所以我决定使用optparse.OptionParser.问题是,我有时命令也有参数,如果我这样做,它可以正常工作: ./floep -v "uname -a" 但我也希望它在我使用时起作用: ./floep -v uname -a 我的想法是,只要我遇到第一个非选项参数,之后的所有内容都应该成为我命令的一部分. 然而,这给了我: Usage: floep [options] floep: error: no such option: -a OptionParser是否支持此语法?如果是这样:怎么样? 最佳答案
尝试使用
disable_interspersed_args()
运行时: $./options.py foo -v bar Options: {'verbose': None} args: ['foo','-v','bar'] $./options.py -v foo bar Options: {'verbose': True} args: ['foo','bar'] $./options.py foo -a bar Options: {'verbose': None} args: ['foo','-a','bar'] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |