optparse期望一个已经分解为shell样式的值列表(这是什么argv[1:]).要以字符串开头,请尝试以下方法:
parser = optparse.OptionParser()
# Set up your OptionParser
inp = raw_input("Enter some crap: ")
try: (options, args) = parser.parse_args(shlex.split(inp))
except:
# Error handling.
Run Code Online (Sandbox Code Playgroud)
可选参数parse_args是您在转换后的字符串中替换的位置.
请注意,shlex.split可以例外,可以parse_args.当您处理来自用户的输入时,期望两种情况都是明智的.