python从raw_input获取解析选项

时间:2018-01-23 22:14:57

标签: python

如何在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时,我想要一个带有这些选项的消息框。

我该如何解决这个问题,谢谢。

1 个答案:

答案 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])