4

我在让 optparse 在 python 中工作时遇到了很多麻烦。这是我第一次使用它,所以任何帮助将不胜感激。我通读了所有文档,但即使有他们的例子,它也不适合我。我正在尝试使用 --clean 使布尔变量等于 true。这就是我所拥有的:

desc = "Use this script for fun!"
parser = optparse.OptionParser(description=desc)
parser.add_option('--clean', help='Run cleaner option', dest = 'runclean', default = False, action = 'store_true')
(args, opts) = parser.parse_args()

print opts.runclean

我认为这会将runclean设置为true,但是当我这样做时:

print opts.runclean

我得到:

AttributeError: 'list object has no attribute 'runclean'

有任何想法吗?

4

2 回答 2

4

您的返回值颠倒了:

(args, opts) = parser.parse_args()

应该

(opts, args) = parser.parse_args()

然后一切都会起作用。

于 2012-07-26T14:53:07.653 回答
0

它在 args.runclean

顺便说一句,最好使用 argparse 而不是 optparse

于 2012-07-26T14:57:09.447 回答