如何在raw_input
中使用解析器选项。
我举个例子:
import optparse
import win32ui
a = raw_input('Message box')
parser = optparse.OptionsParser()
parser.add_options('-t', dest='title', type='string')
parser.add_options('-m', dest='message', type='string')
(options, args) = parser.parse_args()
title = options.title
message = options.message
win32ui.MessageBox(message, title, 0)
当我输入例如-t hello -m how are you
时,我想要一个带有这些选项的消息框。
我该如何解决这个问题,谢谢。
答案 0 :(得分:2)
首先,最好不要使用optparse
,因为现在这是一个已弃用的模块,您应该更喜欢argparse
。
默认情况下,argparse将解析命令行输入
(sys.argv[1:]
) - 但是你可以传递一个变量列表来解析,例如:
import argparse
parser = argparse.ArgumentParser()
parser.parse_args(["-t hello -m how are you"])
因此,在您的具体情况下,您可以这样做:
(options, args) = parser.parse_args([a])
当然,如果您必须使用optparse
,那么它几乎相同:
import optparse
parser = optparse.OptionParser()
(options, args) = parser.parse_args([a])