pythonのgetopt
(私が思う)のドキュメントによれば、オプションフィールドはgetopt()
の関数として動作するはずです。しかし、私は自分のコードにオプションのパラメータを有効にするために見えることはできません:中オプションにオプションのパラメータを処理するためにpythonのgetoptを説得する方法はありますか?
#!/usr/bin/python
import sys,getopt
if __name__ == "__main__":
try:
opts, args = getopt.gnu_getopt(sys.argv[1:], "v::", ["verbose="])
except getopt.GetoptError, err:
print str(err)
sys.exit(1)
for o,a in opts:
if o in ("-v", "--verbose"):
if a:
verbose=int(a)
else:
verbose=1
print "verbosity is %d" % (verbose)
結果:
$ ./testopt.py -v
option -v requires argument
$ ./testopt.py -v 1
verbosity is 1
optparseはドキュメントだという;) – SilentGhost
うん、私はちょうど、という「間違ったタブの古典的な場合に気づきました"シンドローム。 しかし、私はまだこの推論はgetoptでも相対的だと考えています。 –
また、長いオプションにはオプションの引数を明示的に指定できます。 "--foo"と "--foo = arg"を比較します。 Pythonはこれをサポートしていないようですが、これは非常に貧弱です。途中で何かをゼロから再実装する症状... –